PHP: Télécharger le courrier électronique entrant de POP3 ou IMAP, l'analyser et le marquer comme lu / supprimer sur le serveur
-
11-09-2019 - |
Question
Je suis en train d'ajouter le courrier électronique entrant dans mon application web. Il est construit sur CodeIgniter et PHP, et pour autant que je peux dire que je n'ai pas trouvé de bibliothèques de CI pour le faire.
Ce que je voudrais faire est d'avoir un contrôleur qui se connecte à ma boîte mail, via POP3 ou IMAP, et récupère le message, parse il supprime ensuite du serveur.
mail de tuyauterie de postfix / etc ne va pas travailler sur ma configuration du serveur.
Toute suggestion serait extrêmement utile.
Merci!
La solution
$mb = imap_open("{host:port/imap}","username", "password" );
$messageCount = imap_num_msg($mb);
for( $MID = 1; $MID <= $messageCount; $MID++ )
{
$EmailHeaders = imap_headerinfo( $mb, $MID );
$Body = imap_fetchbody( $mb, $MID, 1 );
doSomething( $EmailHeaders, $Body );
}
Autres conseils
Pour une approche plus indépendante que vous pourriez construire un plugin tiers avec Zend Framework ( https: //docs.zendframework.com/zend-mail/read/ ). Je l'ai utilisé leurs modules ACL au sein Codeigniter et est un bon moyen d'obtenir le meilleur des deux cadres.
Cela vous permet également d'analyser les e-mails et pièces jointes, etc extraire.