fbpx

Envoyer des mails avec PHPMailer et le SMTP de Gmail

gmail-logoDans ce tutoriel, nous allons voir comment utiliser PHPMailer le service SMTP de Gmail pour envoyer des mails. Si vous vous demandez pourquoi pourrais-t-on utiliser GMail au lieu des serveurs de nos hébergeurs, la réponse est simple. Premièrement, le service est gratuit. Deuxièmement, il y a plus de chance que votre adresse IP ne soit pas black listée, ce qui deviendra un vrai casse tête a résoudre.

Il existe cependant quelques limitations au service de Gmail comme la limite a 500 destinataires par jour. vous pouvez consulter les pages d’aide de google pour plus d’informations.

Pour les exemples ci dessous, vous aurez besoin de PHP5 et du port 465 ouvert, et évidemment d’un compte Gmail.

Le tutoriel :

  1. Si vous ne possedez pas encore de compte,  enregistrez vous a Gmail.
  2. Telechargez une version recente de PHPMailer
  3. Assurez vous que le port 465 (TCP sortant) est ouvert – vous pouvez demander a votre hebergeur de le faire.
  4. Inclure la classe PHPMailer :
    require_once('phpmailer/class.phpmailer.php');
  5. Creer deux constantes contenant votre login et votre mot de passe GMail.
    define('GMailUSER', 'votrecompte@gmail.com'); // utilisateur Gmail
    define('GMailPWD', 'votremotdepasse'); // Mot de passe Gmail
  6. Pour envoyer vos mails utiliser la function suivante:
    function smtpMailer($to, $from, $from_name, $subject, $body) {
    	$mail = new PHPMailer();  // Cree un nouvel objet PHPMailer
    	$mail->IsSMTP(); // active SMTP
    	$mail->SMTPDebug = 0;  // debogage: 1 = Erreurs et messages, 2 = messages seulement
    	$mail->SMTPAuth = true;  // Authentification SMTP active
    	$mail->SMTPSecure = 'ssl'; // Gmail REQUIERT Le transfert securise
    	$mail->Host = 'smtp.gmail.com';
    	$mail->Port = 465;
    	$mail->Username = GMailUser;
    	$mail->Password = GMailPWD;
    	$mail->SetFrom($from, $from_name);
    	$mail->Subject = $subject;
    	$mail->Body = $body;
    	$mail->AddAddress($to);
    	if(!$mail->Send()) {
    		return 'Mail error: '.$mail->ErrorInfo;
    	} else {
    		return true;
    	}
    }

    La plupart des configurations sont nécessaires pour utiliser le service de GMail.

  7. appelez la fonction avec vos parametres :
    $result = smtpmailer('destinataire@mail.com', 'votreEmail@mail.com', 'votreNom', 'Votre Message', 'Le sujet de votre message');
    if (true !== $result)
    {
    	// erreur -- traiter l'erreur
    	echo $result;
    }

Anis Berejeb

Anis est avant tout un passioné de l'agilité et du développement. Avec plus de 15 ans dans le domaine du développement web, son expertise combine des connaissances accrues dans l'ensemble des notions partant du développement logiciel jusqu'à l'organisation des équipes dans les environnements agiles à grande échelle.

You may also like...