Se connecter / S'enregistrer
Votre question

Codeigniter envoi mail

Tags :
  • gmail
  • Programmation
Dernière réponse : dans Programmation
12 Juillet 2010 16:23:35

Bonjour,

Je crée un moteur de newsletters et je n'arrive pas à envoyer un mail , quand je teste mes codes , l'erreur suivante s'affiche "unable to connect to smtp.google.com:25",pouvez vous m'aider svp .

Merci

Autres pages sur : codeigniter envoi mail

12 Juillet 2010 22:06:44

Bonjour,

Apparemment tu souhaites envoyer ton mail à partir d'un compte GMail. Dans ce cas, tu utilises la mauvaise adresse et le mauvais port :

serveur smtp de gmail = smtp.gmail.com
2 ports possible selon le cryptage désiré :
  • 465 pour du SSL
  • 587 pour du TLS

    Il est nécessaire de s'authentifier sur le serveur smtp, donc "nom de compte"@gmail.com et "mot de passe".

    C'est pas toujours évident de bien configurer les envois de mail, je te conseil la procédure suivante :

  • Récupère PHPMailer sur SourceForge
  • Dé-archives le et mets « class.phpmailer.php » et « class.smtp.php » sur ton site web
  • Crées une fichier « mail.php » avec :

    1. <?php
    2. function my_mail($to, $subject, $message, $from="", $charset="", $headers="")
    3. {
    4. require_once("class.phpmailer.php");
    5. require_once("class.smtp.php");
    6. global $db, $mybb;
    7. $mail = new PHPMailer();
    8. $mail->IsSMTP();
    9. $mail->SMTPAuth = true; // enable SMTP authentication
    10. $mail->SMTPSecure = "ssl"; // sets the prefix to the servier
    11. $mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
    12. $mail->Port = 465; // set the SMTP port
    13. $mail->Username = "xxx"; // GMail username (including @gmail.com)
    14. $mail->Password = "xxx-"; // GMail password
    15. $mail->From = "xxx-@-xxx"; // Webmaster e-mail
    16. $mail->FromName = $mybb->settings['bbname'];
    17. $mail->Subject = $subject;
    18. $mail->Body = $message;
    19. $mail->AddAddress($to, "");
    20. if(!$mail->Send())
    21. echo "Une erreur c'est produite lors de l'envoi vers ".$to." avec l\'erreur : ".$mail->ErrorInfo;
    22. $mail->ClearAddresses();
    23. }
    24. ?>


    Le serveur SMTP et le port sont pré-configurés mais il faudra renseigner ton compte GMail etc :

    1. $mail->Username = "xxx"; // GMail username (including @gmail.com)
    2. $mail->Password = "xxx-"; // GMail password


    Et l'adresse mail que tu souhaites faire apparaitre comme envoyeur :

    1. $mail->From = "xxx-@-xxx"; // Webmaster e-mail


    Ensuite, il suffit d'utiliser la fonction "my_mail" dans ton code de la manière suivante :

    1. <?php
    2.  
    3. //...
    4.  
    5. require_once("Mail.php");
    6. $to = "xxx";
    7. $subject = "sujet";
    8. $message = "message";
    9. $from = "xxx";
    10. my_mail($to, $subject, $message, $from, $charset="", $headers="");
    11.  
    12. //...
    13.  
    14. ?>


    J'espère que ça t'aidera.
    m
    0
    l
    Tom's guide dans le monde
    • Allemagne
    • Italie
    • Irlande
    • Royaume Uni
    • Etats Unis
    Suivre Tom's Guide
    Inscrivez-vous à la Newsletter
    • ajouter à twitter
    • ajouter à facebook
    • ajouter un flux RSS