- Compatibilité:
Une librairie PHP pour GMail
Je suis actuellement en train de développer une application via le framework jQueryMobile permettant de consulter, écrire des mails pour Gmail et tout ceci pour le format tablette (type Ipad).
Ce faisant j'ai eu besoin de créer une classe permettant de centraliser toutes mes actions vers GMail que je vous propose en téléchargement à la fin de cette page.
Afin de récupérer les mails, j'utilise le protocole IMAP et donc toutes les fonction php imap.
Ainsi grace à cette classe (GMailReader.php), on peut récupérer :
- le nombre de message dans votre boite mail,
- le nombre de message non lus,
- les différents dossiers de votre boite mails (INBOX, spam, corbeille, dossiers personnels),
- obtenir tous les messages non lus,
- obtenir les messages en appliquant des filtres (obtenir les messages d'une date ou d'un destinataire, etc.),
- et j'en passe...
Voici un exemple d'utilisation:
<?php
require 'GMailReader.php';
$gmail = newGmailReader();
$gmail->openMailBox('mail', 'mot_de_passe');
$results = $gmail->getMessagesSince('Fri, 22 Oct 2010 9:00:00');
$nbMails = $gmail->getNumMessages();
$folders = $gmail->getMailBoxDirectory();
?>
D'autres exemples d'utilisation :
- obtenir le nombre de message non lus : $gmail->getNumUnseenMessages()
-
obtenir les messages supprimés: $mails = $gmail->getDeletedMessages()
$mails est un tableau d'object :- $mails[0]->Subject ou $mails[0]->subject
- $mails[0]->Date ou $mails[0]->date
- $mails[0]->message_id
- $mails[0]->toaddress
- $mails[0]->to[0]->mailbox
- $mails[0]->to[0]->host
- $mails[0]->fromaddress
- $mails[0]->from[0]->personal
- $mails[0]->from[0]->mailbox
- $mails[0]->from[0]->host
- $mails[0]->reply_to[0]->personal
- $mails[0]->reply_to[0]->mailbox
- $mails[0]->reply_to[0]->host
- $mails[0]->senderaddress
- $mails[0]->sender[0]->personal
- $mails[0]->sender[0]->mailbox
- $mails[0]->sender[0]->host
- $mails[0]->Recent
- $mails[0]->Unseen
- $mails[0]->Flagged
- $mails[0]->Answered
- $mails[0]->Deleted
- $mails[0]->Draft
- $mails[0]->Msgno
- $mails[0]->MailDate
- $mails[0]->Size
- $mails[0]->udate
- Obtenir le corps d'un mail : $body = $gmail->getBodyMessage($mails[$i]->Msgno) avec $i un index du tableau de résultat $mails retourné par une des méthodes de la classe (exemple précédent).
Je mettrai à jour régulièrement cette librairie afin de proposer le maximum de fonctionnalité.
accueil