PHPMailer() ne fonctionne pas !

Résolu
yengui -  
 Anthonny -
Bonjour,

Il faut dire que j'ai bien galéré !

en utilisant la classe phpMailer que j'ai téléchargé ici (http://phpmailer.sourceforge.net/), j'ai essayé de l'utilisé sur mon site, mais toujours le message d'erreur !
voici mon code :
-------------------------------
include("class.smtp.php");
include("class.phpmailer.php");

$answer="Message envoyé";
$descriptif_txt = "bla bla bla ..";

$mails = new PHPMailer();
$mail->SMTPAuth = false;
$mails->From = "contact@monDomaine.com";
$mails->FromName = "monDomaine";
$mails->Host = "aut.smtp.1and1.fr";
$mails->Mailer = "smtp";
$mails->Subject = "Nouveau message ..";

$mails->Body = $descriptif_txt;

$mails->AddAddress("moi@monDomaine.com");

if(!$mails->Send())
$answer= "There has been a mail error sending your email ! ";

$mails->ClearAddresses();
----------------

j'ai aussi essayé : $mails->Host = "smtp.1and1.fr";
tout en vain !

Je compte sur votre aide !

D'avance merci
Configuration: Windows XP
Firefox 2.0.0.3

16 réponses

  1. Otomatic
     
    Bonjour,

    Réponse très tardive, mais mieux vaut tard que jamais.
    En local, Windows XP Home SP3, Wampserver 2.0c, PHPmailer version 2.2.1
    Envoi de courriels via le SMTP de 1and1 :

    error_reporting(E_STRICT);
    date_default_timezone_set('Europe/Paris');
    
    require_once(class.phpmailer.php');
    require_once(class.smtp.php');
    
    $mail = new PHPMailer();
    $mail->SetLanguage('fr');
    $mail->IsSMTP();
    $mail->SMTPDebug  = false;
    $mail->SMTPAuth   = true;
    
    $mail->Host       = "auth.smtp.1and1.fr";
    $mail->Port       = 587;
    $mail->Username   = "utilisateur";
    $mail->Password   = "mot_de_passe";
    $mail->From       = "Adresse_from";
    
    $mail->FromName   = "Responsable Forum";
    
    //Caractéristiques du message
    $mail->CharSet     = 'iso-8859-1';
    $mail->ContentType = 'text/plain';
    $mail->Encoding    = '8bit';
    
    $mail->Subject    = "Test PHPMailer Sujet via 1and1";
    $mail->Body       = "Bonjour,\n\nVoici le corps du message.\nMessage envoyé avec PHPMailer";
    $mail->WordWrap   = 0;
    
    $mail->AddAddress("adresse", "nom");
    
    $mail->AddCC("adresse_en_copie", "nom");
    $mail->AddBCC("adresse_en_bcc", "nom");
    
    if(!$mail->Send()) echo "PHPMailer Erreur d'envoi : ".$mail->ErrorInfo;
    else echo " PHPMailer : Le Message a été envoyé !";
    
    9
    1. gg
       
      sdf
      0
    2. benyoussef Messages postés 5 Statut Membre
       
      Bonjour,
      Merci de m'aider pour configurer les mails sur Mantis , ca fait plusieurs jours je cherche comment le configurer je rien trouvé .
      mon problème je sais pas si j'installe phpmailer ou bien non!! si oui comment l'installer et le configurer ?
      mes répertoires d'installation :
      E:\WebMantis\mantis
      E:\WebMantis\Php
      E:\WebMantis\Apashe
      E:\WebMantis\mysql

      Je compte sur votre aide.
      Merci.
      0
  2. sangria
     
    En faite, pour ceux qui sont sur 1&1, le mail fonctionne en local.

    Il faut remplacer isSMTP() par IsMail et ça marche!

    bonne chance!
    4
    1. geve2009
       
      Bien vu, Sangria !
      Cela résoud mon problème !
      Allez hop, je vais boire un ptit coup à ta santé ;-)
      0
  3. marion
     
    Bonjour,

    J'ai le même problème, et ça ne marche pas : "Language string failed to load: connect_host "

    donc je rajoute la ligne => $mail->SetLanguage('fr');
    et => Could not load language file

    autre question: on doit ou on ne doit pas toucher au ficher "class.phpmailer" ?

    je suis chez 1&1 aussi sous windows XP
    1
  4. yengui
     
    Bonjour,

    Comme je n'ai pas encore résolu mon problème, je vous RE-demande de m'aider..

    Merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Ks
     
    Salut,

    Je sais pas trop te dire ce qui ne va pas dans ton code, mais je peux te montrer ce qui marche chez moi :

    require("../phpmailer/class.phpmailer.php");
    $mail = new PHPMailer();
    $mail->IsSMTP(); // telling the class to use SMTP
    $mail->Host = "smtp.xxxxxx.fr"; // SMTP server
    $mail->From = $Email;
    $mail->FromName = "$Titre $Nom $Prenom $Societe";
    $mail->AddAddress("xxxxx@xxxx.xx");
    $mail->Subject = $Sujet;
    $mail->Body = "$Message";
    $mail->WordWrap = 50;
    


    Les petits problèmes que j'avais eu au début venaient du serveur SMTP (je faisais mes tests en local avec déjà l'adresse du serveur SMTP que j'ai chez mon hébergeur). Il fallait donc que je mette celui de mon FAI. Par contre, pour mettre en ligne la version finale sur le site, il faut bien évidemment mettre la bonne adresse (celle de l'hébergeur).

    Je sais pas si j'ai pu t'aider mais bon courage pour la suite.

    @+ Ks
    0
  7. Georges VIGREUX
     
    Salut,
    J'ai moi aussi un problème curieux avec phpmailer.
    Je l'utilise sur mon serveur distant avec un smtp qui m'a été préconisé. Je fais une boucle comme dans le code de démo proposé dans la doc de phpmailer. Dans cette boucle, je vais écrire à chaque tour les données d'envoi d'un des mails. Aucun problème : je teste sur trois comptes emails, les trois s'écrivent dans la table.
    Ensuite je parcours la table dans une boucle classique du genre while($data = mysql_fetch_array($result) et là; bizarrement, phpmailer ne m'envoie que le premier email. Pourtant, ma boucle retrouve bien les trois.
    Moi yen a pas comprendre...
    Un problème de vitesse avec le serveur SMTP distant ?
    0
  8. Keith
     
    J'ai le même problème (bon un envoi de 600 mails...) mais quand j'en fais qu'un ca marche, quand ca boucle sur le meme mail, j'ai les 600 envois sur ce mail mais dès que ca passe par la requête : nada...
    0
  9. Volyz
     
    Salut Yengui, je ne sais pas si tu as réussi à résoudre ton problème depuis le temps mais voilà il y une petite erreure dans l'extrait que tu nous a donné, ce ne serait pas : "auht.smtp.1and1.fr" plutôt ?
    0
  10. Otomatic
     
    Bonjour,

    Dans le dossier "languages", il faut le fichier "phpmailer.lang-fr.php".

    Ce qui suit fonctionne parfaitement chez moi avec Windows XP Home SP3, sous Wampserver 2.0i (Apache 2.2.11, PHP 5.3.0 et MySQL 5.1.37)

    <?php
    error_reporting(E_STRICT);
    date_default_timezone_set('Europe/Paris');
    
    require_once('include/class.phpmailer.php');
    require_once('include/class.smtp.php');
    
    $mail = new PHPMailer();
    $mail->SetLanguage('fr');
    $mail->IsSMTP();
    $mail->SMTPDebug  = false;
    $mail->SMTPAuth   = true;
    
    // 1and1 fonctionne en local
    $mail->Host       = "auth.smtp.1and1.fr";
    $mail->Port       = 587;
    $mail->Username   = "utilisateur@chez_1and1.fr";
    $mail->Password   = "mon_mot_de_passe";
    $mail->From       = "tartempion@chezlui.net";
    $mail->FromName   = "Responsable Forum";
    
    
    //Caractéristiques du message
    $mail->CharSet     = 'iso-8859-1';
    $mail->ContentType = 'text/plain';
    $mail->Encoding    = '8bit';
    
    $mail->Subject    = "Test PHPMailer via 1and1 port 587";
    $mail->Body       = "Bonjour,\n\nVoici le corps du message.\nMessage envoyé avec PHPMailer";
    $mail->WordWrap   = 0;
    
    $mail->AddAddress("pour_lui@la_bas.net", "André Dupont");
    
    
    if(!$mail->Send()) echo "PHPMailer Erreur d'envoi : ".$mail->ErrorInfo."\n";
    else echo "PHPMailer : Le Message a été envoyé !\n";
    $mail->SmtpClose();
    unset($mail);
    
    ?>
    0
  11. marion
     
    en effet il n'est pas présent dans le dossier language!

    peux tu me copier la source de ce fichier "phpmailer.lang-fr.php" ici stp?
    0
  12. Otomatic
     
    Bonsoir,

    Négatif. Il vaut mieux aller télécharger le dernier « package » PhpMailer ; mon fichier "fr" est modifié.
    0
  13. marion
     
    Je viens de tester avec, j'en ai trouvé un, ça ne marche pas. Toujours ce "Could not load language file "
    si je l'enlève: "Language string failed to load: connect_ho"

    question: $mail->Username et £mail->From sont souvent les même non?
    le from est bien l'adresse d'expéditeur qui apparait dans le mail?

    bon voici mon code:


    require_once('phpmailer-1.71/phpmailer/class.phpmailer.php');
    require_once('phpmailer-1.71/phpmailer/class.smtp.php');
    $mail = new PHPmailer();
    $mail->SetLanguage('fr');
    $mail->IsSMTP();
    $mail->SMTPDebug = false;
    $mail->SMTPAuth = true;
    $mail->Host='auth.smtp.1and1.fr';
    $mail->Port = 587;
    $mail->Username = 'info@mon_domaine1&1.com';
    $mail->Password = 'motdepasse';
    $mail->From='info@mon_domaine1&1.com';
    $mail->AddAddress('destination@gmail.com');
    $mail->AddReplyTo('destination@gmail.com');

    //Caractéristiques du message
    $mail->CharSet = 'iso-8859-1';
    $mail->ContentType = 'text/plain';
    $mail->Encoding = '8bit';
    $mail->Subject='sujet';
    $mail->Body='Voici un exemple d\'e-mail au format Texte';
    if(!$mail->Send()){
    echo $mail->ErrorInfo;
    }else{
    echo 'Mail envoyé avec succès';
    }
    $mail->SmtpClose();
    unset($mail);



    merci de ton aide
    0
  14. mailerman
     
    Bonjour !

    Je sais que le sujet est vieux mais voici une piste vers la réussite de ce bout de script :

    $mail->SetLanguage('fr','phpmail/language/');

    En clair, tu mets tu ajoute le chemein du dossier des langues.

    Voilà en espérant que ça aide si quelqu'un passe par là :D
    0
  15. Marion
     
    bonjour,

    en fait c'était un problème dû à hébergeur : OVH

    ils sont des problèmes avec les fonctions d'envoi d'email dans les scripts, et ça bloque tout automatiquement!!
    0
    1. mailerman
       
      Ah ! Oui effectivement !

      J'ai eu pas mal de problème avec OVH en utilisant cette fonction...
      Ils me bloquaient la réception. Sauf que une fois débloqué tous les mails sont arrivé en réception et je me suis fais black lister mon adresse par "les grands pontes" du système :D
      0
  16. benyoussef Messages postés 5 Statut Membre
     
    Bonjour,
    Je galère depuis 7jours j'ai pas trouvé comment configurer et installer Phpmailer.
    Pour information j'ai installé Apashe et Php et mysql et les trois ca fonctionne et mon site mantis aussi, mais la probleme dans l'envoie de mail.
    Comment installer et configurer phpmailer?
    j'ai bien chercher sur le forum j'ai rien trouvé .
    je suis débutant dans le domaine.

    Je compte sur votre aide !
    Merci
    0
  17. Anthonny
     
    Personnellement j'utilise la classe de J Houbart ( http://www.phpcs.com/codes/CLASSE-MESSAGERIE_44094.aspx ) elle est beaucoup plus facile et plus performante (moins lourde l'usine à gaz "phpmailer")

    Anth
    0