Welcome to the Cookbook

loading...

5.4.3 Envoyer un Message par SMTP

Pour envoyer un email en utilisant un serveur SMTP, les étapes sont similaires à l'envoi d'un message basique. Définissez la méthode de distribution à smtp et assignez toutes les options à la propriété smtpOptions de l'objet Email. Vous pouvez aussi récupérer les erreurs SMTP générées durant la session, en lisant la propriété smtpError du composant.

   /* Options SMTP */
   $this->Email->smtpOptions = array(
        'port'=>'25', 
        'timeout'=>'30',
        'host' => 'votre.serveur.smtp',
        'username'=>'votre_login_smtp',
        'password'=>'votre_mot_de_passe_smtp',
        'client' => 'nom_machine_smtp_helo'
   );

    /* Définir la méthode de distribution */
    $this->Email->delivery = 'smtp';

    /* Ne passer aucun argument à send() */
    $this->Email->send();

    /* Vérification des erreurs SMTP. */
    $this->set('smtp-errors', $this->Email->smtpError);
  1. /* Options SMTP */
  2. $this->Email->smtpOptions = array(
  3. 'port'=>'25',
  4. 'timeout'=>'30',
  5. 'host' => 'votre.serveur.smtp',
  6. 'username'=>'votre_login_smtp',
  7. 'password'=>'votre_mot_de_passe_smtp',
  8. 'client' => 'nom_machine_smtp_helo'
  9. );
  10. /* Définir la méthode de distribution */
  11. $this->Email->delivery = 'smtp';
  12. /* Ne passer aucun argument à send() */
  13. $this->Email->send();
  14. /* Vérification des erreurs SMTP. */
  15. $this->set('smtp-errors', $this->Email->smtpError);

Si votre serveur SMTP nécessite une authentification, assurez-vous de définir les parmètres nom d'utilisateur et mot de passe dans smtpOptions, comme indiqué dans l'exemple.

Si vous ne savez pas ce qu'est un HELO SMTP, alors vous ne devriez pas avoir besoin de définir le paramètre client dans smtpOptions. Celui-ci est seulement nécessaire pour les serveurs SMTP qui ne respectent pas pleinement la RFC 821 (SMTP HELO).