Zend_Mail est un composant Zend Framework, qui facilite la création et l’envoi d’e-mails. Il permet également de consulter une boite mail distante et de manipuler des messages.
Aujourd’hui, les fonctionnalités de création d’e-mails sont au point et vraiment pratiques. En revanche, il serait intéressant de partir d’un fichier e-mail plat, qui servirait de modèle, ce que Zend_Mail fait difficilement. A travers Zend_Mail_Message, il est possible de parcourir un e-mail mais sauf erreur il n’existe pas encore de passerelle fiable vers Zend_Mime_Message. Or Zend_Mail utilise Zend_Mime_Message pour la gestion des mails multipart.
Cette semaine, j’ai tenté d’utiliser Zend_Mail pour mettre en place un moteur de mailing spécifique lié au système d’information d’une entreprise. Au final, j’utilise Zend_Mail_Message pour la lecture des données à la sortie de postfix puis je manipule mon e-mail « à la main ».
Exemple d’utilisation de Zend_Mail_Message :
// Lecture d'un mail
$params = array('raw' => $mailContent);
$mailPart = new Zend_Mail_Message($params);
// Accès aux headers
$subject = $mailPart->getHeaderField('subject');
$headersTab = $mailPart->getHeaders();
// Parcours des parts
foreach ($mailPart as $part) {
$headers = $part->getHeaders();
$body = $part->getContent();
}