jeudi 27 novembre 2014

PHP : API Envoyer un mail


Comment envoyer un mail en PHP ? En utilisant SwiftMailer.

Comment l'utiliser ? C'est assez simple.

1/ Initialiser cette API

require_once 'Swift/lib/swift_required.php';

2/ Définir variables

// liste des destinataires sous forme d'un tableau
$liste_destinataires= array("adr1@gmail.com", "adr2@gmail.com");

// liste des adresses en copie sous forme d'un tableau -> à noter l'utilisation d'un tableau associatif
$liste_cc = array("c1@gmail.com", "c2@gmail.com" => "Nom c2");

// l'objet du mail
$sujet= utf8_encode("Mon objet à propos de l'actualité");

// l'expéditeur
$email_expediteur='monAdresse@gmail.com';

3/ Instancier classes

// ne pas oublier bien sûr de renseigner correctement les informations propres à votre serveur SMTP.

$transport = Swift_SmtpTransport::newInstance('serveur SMTP',  port)
->setUsername('nom utilisateur')
->setPassword('mot de passe');

$mailer = Swift_Mailer::newInstance($transport);

$message = Swift_Message::newInstance();

4/ Prise en compte de l'objet du mail et des adresses mail

$message->setSubject($sujet);

$message->setFrom(array($email_expediteur => 'DUPOND Henri'));
$message->setTo($liste_destinataires);
$message->setCc($liste_cc);

5/ Définir le corps du mail

$message->setBody("<html>".
"<body>".
// insérer votre code HTML

...

// exemple insertion d'une image
"<img src='" . $message->embed(Swift_Image::fromPath('images/mon_image.jpg')) ."' />" .

...

"</body>".
"</html>", 'text/html');

6/ Joindre les éventuelles pièces jointes

// exemple d'un fichier PDF

$fichier1 = 'C:/mon_fichier.pdf";
$pdf = Swift_Attachment::fromPath($fichier1, 'application/pdf');
$message->attach($pdf);

7/ Envoyer le mail

$result = $mailer->send($message);

if ($result == 0)
echo "impossible d'envoyer le mail !";

Aucun commentaire:

Enregistrer un commentaire