Table des matières
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 435. É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).
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 436. 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 |