IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

envoi de mail avec PHPMailer


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut envoi de mail avec PHPMailer
    Bonjour,

    je tente de mettre au point un envoi de mail avec PHPMailer avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?php
    echo "ici<br/>";
    require "phpmailer/class.phpmailer.php";
    $mail = new PHPmailer();
    $mail->IsHTML(true);
    $mail->From='---;
    $mail->AddAddress('---');
    $mail->AddReplyTo('---');
    $mail->Subject='Exemple trouvé sur DVP';
    $mail->Body='<html><body><head><style>.entete{background-color:#0000FF;color:#FFFFFF;border:solid 3px;font-size:25px}';
    if(!$mail->Send()){ //Teste si le return code est ok.
    echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
    else{
          echo 'Mail envoyé avec succès';
     } 
    unset($mail); 
    ?>
    mais tout ce que j'obtiens, c'est une erreur 500 ; avez-vous une explication ?

  2. #2
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Ca devait être temporaire car il n'y a plus d'erreur 500, par contre, il n'y a pas de réception de mail ni d'émission de message de PHPMailer (succès ou message d'erreur). Don ça évolue mais n'est pas résolu...

  3. #3
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    bonjour,

    ton $mail->Body n'est pas terminé

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail->Body='<html><body><head><style>.entete{background-color:#0000FF;color:#FFFFFF;border:solid 3px;font-size:25px}';

    De plus <head></head> vient avant <body></body> et tu n'as pas la basile fermante </html>

    Est-ce que tu as une erreur php ?

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Merci de m'avoir répondu.

    D'abord, j'avais fait une erreur de copier-coller. Pas d'erreur PHP. Mais avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    echo "ici<br/>";
    require "phpmailer/class.phpmailer.php";
    $mail = new PHPmailer();
    $mail->IsHTML(true);
    $mail->From='---';
    $mail->AddAddress('---');
    $mail->AddReplyTo('---');
    $mail->Subject='Exemple trouvé sur DVP';
    $mail->Body='<html><body><head><style>.entete{background-color:#0000FF;color:#FFFFFF;border:solid 3px;font-size:25px}'; 
    $mail->Body.='.ligne{color:#0000FF;border:solid 1px;text-align:center;font-size:23px}</style></head>';
    $mail->Body.='<center><table><tr><td class="entete">Voici un exemple d\'e-mail au format HTML</td></tr>';
    $mail->Body.='<tr><td class="ligne">Ceci est un tableau HTML</td></tr></table></center></body></html>';
     
    if(!$mail->Send()){ //Teste si le return code est ok.
    echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
    else{
          echo 'Mail envoyé avec succès';
     }
     unset($mail);
    ?>
    toujours pas de mail ni de message (ni d'erreur PHP)

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 29
    Par défaut
    Ton paramétrage pour l'envoi est correct ?

    As tu vérifié les logs ?

    Je vois que tu n'indiques ni expéditeur ni destinataire, ça pose sûrement un problème.

  6. #6
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    je pense qu'il a remplacé les vrais emails par des ---- pour le mettre sur le forum

  7. #7
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    je pense qu'il a remplacé les vrais emails par des ---- pour le mettre sur le forum
    Oui, bien pensé et je vais continuer.

    Sinon, comme je dispose déjà d'un code qui marche et qui utilise PHPMailer, j'ai essayé d'en repartir pour faire un essai et de plus, pour éliminer ce risque, j'ai mis ça chez l'hébergeur chez qui ça marche déjà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <?php
    header('Content-type: text/html; charset=UTF-8');
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head></head>
    <body>
     
    <?php
    require("phpmailer/class.phpmailer.php");
    $mail = new PHPMailer($mail);
    $mail->AddAddress("---"); 
    $mail->SetLanguage("en",'phpmailer/language/');
    $mail->From = "---"; 
    $mail->Subject  = "test";
     
    $msg  ="Message";
     
    $mail->CharSet = 'UTF-8';
    $mail->ContentType ='text/html';
     
    $mail->Body  = $msg;
     
    if(!$mail->Send()) {
      echo 'Message was not sent.';
      echo 'Mailer error: ' . $mail->ErrorInfo;
    }
    else echo "envoi avec succès<br/>"; 
     
    /* fin envoi mail */
     
     
    ?> 
     
    </body></html>
    ce qui ressemble fortement à mon précédent essai, mais autant, "j'envoie avec succès", autant y a rien qui arrive

  8. #8
    Membre averti
    Homme Profil pro
    Urbaniste
    Inscrit en
    Mai 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2013
    Messages : 11
    Par défaut
    De mon côté, voici le code utilisé qui fonctionne (extrait du dossier "examples" de Phpmailer, fichier "test_mail_advanced.php") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    require_once '../class.phpmailer.php';
     
    $mail = new PHPMailer(true); 
     
    try {
      $mail->AddReplyTo('name@yourdomain.com', 'First Last');
      $mail->AddAddress('whoto@otherdomain.com', 'John Doe');
      $mail->SetFrom('name@yourdomain.com', 'First Last');
      $mail->AddReplyTo('name@yourdomain.com', 'First Last');
      $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
      $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
      $mail->MsgHTML(file_get_contents('contents.html'));
     
      $mail->Send();
      echo "Message Sent OK</p>\n";
    } catch (phpmailerException $e) {
      echo $e->errorMessage(); //Pretty error messages from PHPMailer
    } catch (Exception $e) {
      echo $e->getMessage(); //Boring error messages from anything else!
    }

  9. #9
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 493
    Billets dans le blog
    1
    Par défaut
    Super, grâce à vos interventions, j'y suis arrivé. Pour être sûr, j'ai récupéré un nouveau PHPMailer, puis j'ai pris le code de gOO69, et comme y avait 2 méthodes qu'il ne connaissait pas, j'ai un peu modifié le code et voilà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
     require_once 'phpmailer/class.phpmailer.php';
     
    $mail = new PHPMailer(true); 
     
    try {
      $mail->AddReplyTo('---', 'First Last');
      $mail->AddAddress('---', 'John Doe');
      //$mail->SetFrom('---', 'First Last');
      $mail->AddReplyTo('---', 'First Last');
      $mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
      $mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
    //$mail->MsgHTML(file_get_contents('contents.html'));
      $mail->Body="test";
     
      $mail->Send();
      echo "Message Sent OK</p>\n";
    } catch (phpmailerException $e) {
      echo $e->errorMessage(); //Pretty error messages from PHPMailer
    } catch (Exception $e) {
      echo $e->getMessage(); //Boring error messages from anything else!
    }
    ?>
    gOO69, comme j'ai lu sur ce post-là que tu avais modifié "class.phpmailer.php", ne serait-ce pas des méthodes que tu as rajoutées ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. envoi de mail avec PHPMAILER
    Par laurentSc dans le forum Langage
    Réponses: 5
    Dernier message: 13/01/2014, 17h50
  2. Envoie de mail avec PHPmailer
    Par Invité dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/08/2013, 17h14
  3. envoi de mail avec phpmailer inopérant
    Par laurentSc dans le forum Langage
    Réponses: 5
    Dernier message: 15/04/2013, 22h31
  4. [PHPMailer] problème d'envoi de mail avec la fonction phpmailer ()
    Par leclone dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 23/02/2007, 12h26
  5. [Mail] PHP et envoi d'email avec PHPmailer
    Par dolf13 dans le forum Langage
    Réponses: 6
    Dernier message: 14/07/2006, 00h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo