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 :

SMTP Orange [PHP 5.6]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Points : 44
    Points
    44
    Par défaut SMTP Orange
    bonjour,

    j'ai un problème pour envoyer des mails à partir d'un programme PHP. Ce genre de problème a l'air assez connu d'après ce que j'ai pu voir :

    Les paramètres du serveur SMTP enregistrés par Thunderbird (sur ma machine) sont les suivants :

    Description : Orange
    Nom du serveur : smtp.orange.fr
    Port : 465
    Nom d'utilisateur : <mon nom>@orange.fr
    Méthode d'authentification : Mot de passe normal
    Sécurité de la connexion : SSL/TLS



    J'utilise les instructions PHP suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
            ini_set("smtp_port", 465) ;
    	ini_set("SMTP", "smtp.orange.fr");
    	ini_set("sendmail_from", "<mon adresse mail>");
    	ini_set("auth_password", "< le mot de passe de messagerie fourni par Orange>") ;
     
     
    	mail(<mon adresse mail>,$sujet,$message,$header);
    J'ai le message d'erreur suivant :

    Warning: mail(): Failed to connect to mailserver at &quot;smtp.orange.fr&quot; port 465, verify your &quot;SMTP&quot; and &quot;smtp_port&quot; setting in php.ini or use ini_set()

    Mon ordinateur est connecté à une livebox.

    D'après ce que j'ai compris des discussions que j'ai pu voir sur ce sujet, ce code (qui, fonctionnait il y a quelques années) ne fonctionnerait plus parce que le serveur Orange demande une authentification que la fonction "mail" ne serait pas capable de lui fournir.

    Il faudrait donc utiliser des objets PHP de messagerie plus performants comme PHPMailer, mais je n'y suis pas arrivé non plus.

    Est-ce que quelqu'un pourrait m'indiquer si c'est bien le problème, et quel est le moyen le plus simple pour le résoudre ?

    Merci d'avance,
    Zorglbug

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Oui il faut utiliser PHPMailer.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Points : 44
    Points
    44
    Par défaut
    merci sabotage,

    j'ai téléchargé PHPMailer-master.zip, et j'ai rajouté le code :

    require "PHPMailer-master/src/PHPMailer.php";
    require "PHPMailer-master/src/SMTP.php";
    require "PHPMailer-master/src/Exception.php";

    $mail = new PHPMailer(true); // (ligne 508) Passing `true` enables exceptions

    mais j'ai une erreur sur cette dernière ligne :

    Fatal error: Class 'PHPMailer' not found in C:\wamp64\www\Ingo_new_2_V3\Controller.php on line 508

    je ne suis pas familier avec les "include" en PHP ...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as mis les
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Points : 44
    Points
    44
    Par défaut
    Merci,

    effectivement, j'ai franchi cette étape en écrivant :

    $mail = new PHPMailer\PHPMailer\PHPMailer(true); // Passing `true` enables exceptions

    Maintenant, j'ai le message d'erreur :

    2017-10-31 19:09:20 SERVER -> CLIENT:
    2017-10-31 19:09:20 SMTP NOTICE: EOF caught while checking if connected
    SMTP Error: Could not connect to SMTP host.
    SMTP Error: Could not connect to SMTP host.
    Message could not be sent.Mailer Error: SMTP Error: Could not connect to SMTP host.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca serait bien de nous montrer le code.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Points : 44
    Points
    44
    Par défaut
    Voilà, j'ai simplement enlevé mes coordonnées :

    C'est un code que j'ai trouvé sur le site sur lequel j'ai téléchargé PHPMailer :

    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
    36
    37
    38
    39
    40
    	require "PHPMailer-master/src/PHPMailer.php";
    	require "PHPMailer-master/src/SMTP.php";
    	require "PHPMailer-master/src/Exception.php";
     
    	$mail = new PHPMailer\PHPMailer\PHPMailer(true);                              // Passing `true` enables exceptions
    try {
        //Server settings
        $mail->SMTPDebug = 2;                                 // Enable verbose debug output
        $mail->isSMTP();                                      // Set mailer to use SMTP
        $mail->Host = 'smtp.orange.fr';  // Specify main and backup SMTP servers
        $mail->SMTPAuth = true;                               // Enable SMTP authentication
        $mail->Username = '<mon adresse mail>';                 // SMTP username
        $mail->Password = '<mon mot de passe messagerie>';                           // SMTP password
        $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
        $mail->Port = 465;                                    // TCP port to connect to
     
        //Recipients
        $mail->setFrom('<mon adresse mail>', 'Mailer');
        $mail->addAddress('<mon adresse mail>', 'Joe User');     // Add a recipient
        #$mail->addAddress('ellen@example.com');               // Name is optional
        #$mail->addReplyTo('info@example.com', 'Information');
        #$mail->addCC('cc@example.com');
        #$mail->addBCC('bcc@example.com');
     
        //Attachments
        #$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
        #$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
     
        //Content
        $mail->isHTML(true);                                  // Set email format to HTML
        $mail->Subject = 'Here is the subject';
        $mail->Body    = 'This is the HTML message body <b>in bold!</b>';
        $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
     
        $mail->send();
        echo 'Message has been sent';
    } catch (Exception $e) {
        echo 'Message could not be sent.';
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    }

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Essaie ssl au lieu de tls ou même sans rien pour voir.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Points : 44
    Points
    44
    Par défaut
    Bravo, sabotage !

    Avec ssl, ça a marché !

    Un très gros merci !

    Zorglbug

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 66
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    je profite de ce que la discussion ne soit pas close pour poser une question supplémentaire :

    Après avoir utilisé le code PHP d'envoi de mail, j'ai eu des difficultés à envoyer d'autres mails par Thunderbird.

    J'ai eu le message suivant :

    "Une erreur est survenue lors de l'envoi du courrier : le serveur de courrier a envoyé un message d'accueil incorrect : mwinf5d06 ME Trop de connexions, veuillez verifier votre configuration. Too many connections, slow down. OFR304_104 [104]"

    Après avoir débranché et rebranché ma livebox, j'ai pu envoyer de nouveaux mails sans problèmes avec Thunderbird.

    Est-il possible que j'ai été "blacklisté" après utilisation de PHPMailer, ou bien est-ce juste une coïncidence ?

    Merci pour votre réponse,

    Zorglbug

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Le problème vient du nombre d'email ou de connexions réalisés, pas du moyen utilisé.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/04/2010, 13h44
  2. Réponses: 4
    Dernier message: 27/07/2007, 16h52
  3. [Mail] Probleme fonction mail()
    Par tissot dans le forum Langage
    Réponses: 1
    Dernier message: 14/11/2005, 12h55
  4. meilleur solution pour créer un document imprimable???
    Par martimacfly dans le forum XML/XSL et SOAP
    Réponses: 26
    Dernier message: 08/07/2004, 10h09
  5. [Conception] Meilleures solutions pour gérer le multilangage
    Par scorpiwolf dans le forum Général Java
    Réponses: 3
    Dernier message: 06/07/2004, 16h11

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