Programmer's Reference Guide
Table des matières
- 33.1. Introduction
- 33.2. Envoyer des émail en utilisant SMTP
- 33.3. Envoyer plusieurs émail par connexion SMTP
- 33.4. Utiliser différents transports
- 33.5. Émail HTML
- 33.6. Fichiers joints
- 33.7. Ajouter des destinataires
- 33.8. Contrôler les limites MIME
- 33.9. En-têtes additionnels
- 33.10. Jeux de caractères
- 33.11. Encodage
- 33.12. Authentification SMTP
- 33.13. Sécuriser les transports SMTP
- 33.14. Lire des émail
- 33.14.1. Exemple simple avec Pop3
- 33.14.2. Ouvrir un stockage local
- 33.14.3. Ouvrir un stockage distant
- 33.14.4. Extraire des messages et autres méthodes simples
- 33.14.5. Travailler avec les messages
- 33.14.6. Vérifier les drapeaux ("flags")
- 33.14.7. Utiliser les dossiers
- 33.14.8. Utilisation avancée
Zend_Mail fournit des fonctionnalités génériques pour
écrire et envoyer des émail au format texte et MIME. Un émail peut-être envoyé avec
Zend_Mail via le transporteur par défaut
Zend_Mail_Transport_Sendmail ou via
Zend_Mail_Transport_Smtp.
Exemple 33.1. Émail simple avec Zend_Mail
Un émail 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
Zend_Mail_Transport_Sendmail, vous pouvez faire comme ceci
:
$mail = new Zend_Mail();
$mail->setBodyText('Ceci est le texte du message.');
$mail->setFrom('somebody@example.com', 'un expéditeur');
$mail->addTo('somebody_else@example.com', 'un destinataire');
$mail->setSubject('Sujet de test');
$mail->send();
![]() |
Définitions minimales |
|---|---|
Pour envoyer un émail avec |
Pour la plupart des attributs de l'émail, il y a des méthodes "get" pour lire les
informations stockées dans l'objet mail. Pour plus de détails, 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 émail 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'en-tête pour éviter tout problème d'injection d'en-têtes avec des caractères de
nouvelles lignes (\n). Les guillemets doubles sont changés en guillemets
simples et les crochets en parenthèses dans le nom des émetteurs et des destinataires.
Si ces caractères sont dans l'adresse émail, ils sont enlevés.
Vous pouvez aussi utiliser la plupart des méthodes de l'objet
Zend_Mail via une interface fluide.
$mail = new Zend_Mail();
$mail->setBodyText('Ceci est le texte du message.')
->setFrom('somebody@example.com', 'un expéditeur')
->addTo('somebody_else@example.com', 'un destinataire')
->setSubject('Sujet de test')
->send();
Le transporteur par défaut pour une instance Zend_Mail est
Zend_Mail_Transport_Sendmail. C'est essentiellement un paquet
pour la fonction PHP mail(). Si
vous souhaitez fournir des paramètres additionnels à la fonction mail(), créez simplement une nouvelle
instance du transporteur et fournissez vos paramètres au constructeur. La nouvelle
instance du transporteur peut ainsi devenir le transporteur par défaut
Zend_Mail, ou il peut être fourni à la méthode
send() de Zend_Mail.
Exemple 33.2. Fournir des paramètres additionnels au transporteur
Zend_Mail_Transport_Sendmail
Cet exemple montre comment changer le Return-Path de la fonction mail().
$tr = new Zend_Mail_Transport_Sendmail('-freturn_to_me@example.com');
Zend_Mail::setDefaultTransport($tr);
$mail = new Zend_Mail();
$mail->setBodyText('Ceci est le texte du message.');
$mail->setFrom('somebody@example.com', 'un expéditeur');
$mail->addTo('somebody_else@example.com', 'un destinataire');
$mail->setSubject('TestSubject');
$mail->send();
![]() |
Restrictions en mode Safe |
|---|---|
Les paramètres additionnels optionnels peuvent entraînés un échec de la
fonction |
Search the Manual
Components
Languages Available
Translation Status Reports
View the current status report of Zend Framework manual translations.

![[Note]](/images/note.gif)