Chapitre 20. Zend_Mail

Table des matières

20.1. Introduction
20.2. Envoyer des emails en utilisant SMTP
20.3. Envoyer plusieurs emails par connexion SMTP
20.4. Utiliser différents transports
20.5. Email HTML
20.6. Fichiers joints
20.7. Ajouter des destinataires
20.8. Contrôler les limites MIME
20.9. Entêtes additionnelles
20.10. Jeux de caractères
20.11. Encodage
20.12. Authentification SMTP
20.13. Sécuriser les transports SMTP
20.14. Lire des emails
20.14.1. Exemple simple avec Pop3
20.14.2. Ouvrir un stockage local
20.14.3. Ouvrir un stockage distant
20.14.4. Extraire des messages et autres méthodes simples
20.14.5. Travailler avec les messages
20.14.6. Vérifier les drapeaux
20.14.7. Utiliser les dossiers
20.14.8. Utilisation avancée

20.1. Introduction

Zend_Mail fournit des fonctionnalités génériques pour écrire et envoyer des emails au format texte et MIME. Un email peut-être envoyé avec Zend_Mail via la fonction PHP native mail() ou via une connexion SMTP directe.

Exemple 20.1. Email simple avec Zend_Mail

Un email simple est composé d'un destinataire, d'un sujet, d'un message et d'un expéditeur. Pour envoyer ce genre de messages en utilisant la fonction PHP mail(), vous pouvez faire comme ceci :

            <?php
            require_once 'Zend/Mail.php';
            $mail = new Zend_Mail();
            $mail->setBodyText('Ceci est le message.');
            $mail->setFrom('somebody@example.com', 'un expéditeur');
            $mail->addTo('somebody_else@example.com', 'un destinataire');
            $mail->setSubject('sujet de test');
            $mail->send();
            ?>
        

[Note] Définitions minimales

Pour envoyer un email avec Zend_Mail, vous devez spécifier au moins un destinataire, un expéditeur (avec setFrom()), et un message (text et/ou HTML).

Pour la plupart des attributs de l'email, il y a des méthodes "get" pour lire les informations stockées dans l'objet mail. Pour plus de détail, merci de vous référer à la documentation de l'API. Une méthode spéciale est getRecipients(). Elle retourne un tableau avec toutes les adresses email des destinataires qui ont été ajoutés avant l'appel de cette méthode.

Pour des raisons de sécurité, Zend_Mail filtre tous les champs d'entête pour éviter tout problème d'injection d'entêtes avec des caractères de nouvelles lignes (\n).