Chapitre 17. Zend_Mail

Table des matières

17.1. Introduction
17.2. Envoyer des emails en utilisant SMTP
17.3. Envoyer plusieurs emails par connexion SMTP
17.4. Utiliser différents transports
17.5. Email HTML
17.6. Fichiers joints
17.7. Ajouter des destinataires
17.8. Contrôler les limites MIME
17.9. Entêtes additionnelles
17.10. Jeux de caractères
17.11. Encodage
17.12. Authentification SMTP
17.13. Securing SMTP Transport
17.14. Reading Mail Messages
17.14.1. Simple example using Pop3
17.14.2. Opening a local storage
17.14.3. Opening a remote storage
17.14.4. Fetching messages and simple methods
17.14.5. Working with messages
17.14.6. Using folders
17.14.7. Advanced Use

17.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 17.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] Minimum definitions

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).