Mail::send()

Mail::send() -- envoyer un mail

Synopsis

require_once 'Mail.php';

mixed send (mixed $recipients, array $headers, string $body)

Description

Envoyer un email. La fonction send() est fournie par l'objet retourné par factory()

Paramètres

Valeur retournée

boolean - TRUE ou un objet PEAR_Error, si une erreur survient.

Valeurs renvoyées

Tableau 47-1. Valeurs PEAR_Error possibles

Driver MailCode erreurMessage d'erreurCauseSolution
sendmailNULL << No from address given. >> Le tableau $headers requiert au moins une entrée from. Ajoutez un en-tête From
$headers['From'] = 'monmail@example.com';
sendmailNULL << From address specified with dangerous characters >> L'entrée destinataire dans le tableau des en-têtes $headers contient un ou plusieurs caractères qui ne sont pas valides par la RFC. Vérifiez l'adresse donnée. Eliminez les caractères comme les espaces ou ; ou & ou ` (backtick)
sendmailNULL <<  sendmail [path to sendmail] not executable  >> Le chemin système pour le programme sendmail n'est pas correct. Aucun executable sendmail n'y a été trouvé. Vérifiez la valeur $param['sendmail_path'] dans votre appel à Mail::factory() . Si vous utilisez un autre mailer que sendmail, (par exemple: qmail) vérifiez l'installation de votre mailer. Normalement il dispose d'un intégrateur de commande sendmail.
sendmailNULL << sendmail returned error code code  >> Sendmail a retourné une erreur qui doit être traitée par vos soins. Constultez la documention de votre mailer.
smtpPEAR_MAIL_SMTP_ERROR_CREATE << Failed to create a Net_SMTP object >> Erreur à la création de la classe. Réinstallez / Mettez-à-jour le module Net_SMTP.
smtpPEAR_MAIL_SMTP_ERROR_CONNECT << Failed to connect to host:port  >> La connexion au serveur SMTP à échoué. Vérifiez les paramètres $param['port'] et $param['host'] dans votre appel à Mail::factory() .
smtpPEAR_MAIL_SMTP_ERROR_AUTH << method authentication failure >> Échec de l'identification. Vérifiez les paramètres $param['auth'], $param['username'] et $param['password'] dans votre appel à Mail::factory() . Assurez-vous aussi d'utiliser la bonne méthode d'autentification pour ce serveur SMTP.
smtpPEAR_MAIL_SMTP_ERROR_FROM << No From: address has been provided >> Le tableau $headers nécessite au moins une entrée from. Ajouter un en-tête From
$headers['From'] = 'monmail@example.com';
smtpPEAR_MAIL_SMTP_ERROR_SENDER << Failed to set sender: from >> Échec de la configuration de l'adresse de l'expéditeur Vérifiez les contraintes RFC de l'adresse de l'expéditeur et la connectivité du serveur.
smtpPEAR_MAIL_SMTP_ERROR_RECIPIENT << Failed to add recipient: recipient >> Problème sur l'adresse du destinataire Vérifiez la compatibilité avec la RFC pour l'adresse du destinataire et la connectivité du serveur.
smtpPEAR_MAIL_SMTP_ERROR_DATA << Failed to send data >> Le contenu de l'email ne peut être envoyé. Vérifiez les compatibilités RFC du corp du message et la connectivité du serveur.

Note

Cette fonction ne peut pas être appelée de façon statique.

Exemple

<?php
include('Mail.php');

$destinataire = 'joe@exemple.com';

$entetes['From']    = 'richard@exemple.com';
$entetes['To']      = 'joe@exemple.com';
$entetes['Subject'] = 'Message de test';

$corps = 'Contenu du message de test';

$parametres['sendmail_path'] = '/usr/lib/sendmail';

// Creer un objet mail en utilisant la methode Mail::factory.
$objet_mail =& Mail::factory('sendmail', $parametres);

$objet_mail->send($destinataire, $entetes, $corps);
?>

Voir aussi

Mail::factory()