Envoi de mails avec la Classe Sendmail
Par Frederic Poeydomenge le dimanche, avril 2 2006, 12:21 - PHP - Lien permanent
La classe Sendmail est une surcouche aux classes Mail et Mail_Mime de PEAR, permettant d'envoyer des mails, de manière relativement simplifiée. Ainsi, pour envoyer un mail au format texte/HTML, il suffit juste de faire :
$mail = new Sendmail($driver, $params);
$mail->setFrom($from);
$mail->setSubject($subject);
$mail->setRecipients(array('to' => $to, 'cc' => $cc, 'bcc' => $bcc));
$mail->setText($text_version);
$mail->setHtml($html_version);
$mail->send();
où $driver et $param sont les paramètres passés à la méthode factory() de la classe PEAR::Mail.
De plus, il est possible d'attacher à un objet Sendmail des objets observateurs, qui vont être prévenus par l'objet Sendmail dès qu'un mail est en cours d'envoi. Cela peut par exemple servir pour enregistrer le mail dans une base de données, ou à le stocker dans un fichier mbox :
$mail = new Sendmail($driver, $params);
$mail->attach(new Sendmail_Mbox('/tmp/mbox'));
$mail->attach(new Sendmail_DB($db, 'INSERT INTO mail VALUES (null,?,?,?,?,?,?,?)'));
Qui a dit qu'envoyer des mails était compliqué ?