28 09 | 2012

Exemple d'envoi de mails en PHP

Rédigé par TAVERNIER

Classé dans : PHP sur IBM i

Envoyer des mails au format HTML avec pièce jointe en PHP en utilisant la classe PHPMailer.

La fonction mail()  permet d'envoyer un courriel au format texte, à condition que le serveur SMTP soit renseigné dans le paramétrage (php.ini).

PHPMailer est la classe que nous utilisons régulièrement et qui donne des résultats satisfaisants tout en était relativement simple à utiliser. Elle permet d'envoyer des mails au format HTML, d'ajouter des pièces jointes facilement, de gérer les copies carbones (CC et CCI) et de se connecter à un serveur SMTP indépendamment du paramétrage du serveur WEB.

Voici un exemple de code permettant d’envoyer un mail au format HTML en se connectant directement au serveur SMTP :

<?php

//on commence par aller chercher la classe phpmailer
include "phpmailer/class.phpmailer.php"; 
$mail = new PHPmailer();
$mail->IsSMTP(); // on se connectera directement au serveur SMTP
$mail->IsHTML(true); // on définit l’utilisation d’un message au format HTML
$mail->Host='smtp.orange.fr'; //il faut mettre l’adresse du serveur SMTP
$mail->From='expediteur@domaine.fr'; //l'adresse de l’expéditeur
$mail->FromName='Bruno TAVERNIER'; // le nom de l’expéditeur
$mail->AddAddress('destinataire@domaine.fr', 'Dominique GAYTE'); //le destinataire
$mail->Subject='Test PHPMailer'; // le sujet du mail
$mail->Body='<html>
             <head>
             <style>
                h2{text-align:center; font-family:Verdana; color: blue;}
                p{font-size: 12px; font-family: Arial; color: maroon;}
             </style>
             </head>
             <body>
               <h2>Mail HTML</h2>
               <p>Mail envoyé depuis phpmailer</p>
               <a href="http://www.notos.fr">Notre Site</a>
             </body>
             </html>';
if(!$mail->Send())
{
     echo $mail->ErrorInfo; 
     //Affiche le message d'erreur (ATTENTION:voir section 7)
}
else
{
     echo 'Mail envoyé avec succes';
}
$mail->SmtpClose();
unset($mail);
?>

 

La méthode AddAddress() peut être utilisée plusieurs fois si vous désirez envoyer le mail à plusieurs destinataires.

Il existe aussi

  • une méthode AddCC($adresse_destinataire, $nom_destinataire) pour ajouter un destinataire en copie.
  • Une méthode AddBCC($adresse_destinataire, $nom_destinataire) pour ajouter un destinataire en copie cachée.

 

Voici un exemple de script permettant l’envoi de deux pièces jointes :

<?php
//on commence par aller chercher la classe phpmailer
include "phpmailer/class.phpmailer.php";
$mail = new PHPmailer();
$mail->IsSMTP();
$mail->IsHTML(true);
$mail->Host='smtp.orange.fr'; //il faut mettre l’adresse du serveur SMTP
$mail->From='expediteur@dimaine.fr'; //l'adresse de l’expéditeur
$mail->FromName='Bruno TAVERNIER'; // le nom de l’expéditeur
$mail->AddAddress('destinataire@domaine.fr', 'Dominique GAYTE'); //le destinataire
$mail->Subject='Test PHPMailer'; // le sujet du mail
$mail->AddAttachment('tarifs.pdf'); 
//le fichier tarifs.pdf se trouve dans le même répertoire que le script PHP
$mail->AddAttachment('/WWW/ZENDSVR/HTDOCS/COMMUN/cgv.pdf'); 
//le fichier ne se trouve pas dans le même répertoire, 
//on doit mettre le chemin complet.

$mail->Body='<html>
             <head>
             <style>
                h2{text-align:center; font-family:Verdana; color: blue;} 
                p{font-size: 12px; font-family: Arial; color: maroon;}
             </style>
             </head>
             <body>
                <h2>Mail HTML</h2>
                <p>Mail envoyé depuis phpmailer</p>
                <a href="http://www.notos.fr">Notre Site</a>
             </body>
             </html>';
if(!$mail->Send())
{
   echo $mail->ErrorInfo; 
   //Affiche le message d'erreur (ATTENTION:voir section 7)

}
else
{
   echo 'Mail envoyé avec succes';
}
$mail->SmtpClose();
unset($mail);

?>

 

Mots clés : AS/400, Zend Server, PHP, mail, PHPMailer, Code

Les commentaires sont fermés.

Qui sommes-nous ?

  • Notos, expert IBMi (AS/400) et spécialiste de l’informatisation des PME/PMI est le partenaire privilégié des entreprises qui veulent moderniser leur Informatique.
  • En savoir plus

Archives

Derniers commentaires