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

Bibliothèques et frameworks PHP Discussion :

PHPMailer première utilisation erreur


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 274
    Points : 114
    Points
    114
    Par défaut PHPMailer première utilisation erreur
    Bonjour à tous,

    Je viens vers vous car je me suis décidé à utiliser la librairie PHPMailer car ma fonction mail() de php m'envoie des mails sistématiquement dans les spams ce qui est assez désagréable pour les destinataire.

    Donc j'ai été télécharger la librairie à cette adresse : https://github.com/Synchro/PHPMailer

    Et voici le code utiliser pour l'envoi
    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
    41
    42
     
    <?php
    error_reporting(E_ALL);      // Rapport d'erreur
    ini_set("display_errors", 1); // Affichage des erreur (car l'hébergeur les masque)
     
    require 'phpmailer/class.phpmailer.php'; // Inclusion de la class standard
     
    $mail = new PHPMailer;  // Création de l'objet
     
    $mail->IsSMTP();       // On définit le mailer pour envoi par SMTP
    $mail->Host = 'smtp.gmail.com';        // Le serveur d'envoi (gmail)
    $mail->Port = 465;      // Port gmail smtp
    $mail->Username = 'mon mail@gmail.com';      // SMTP login
    $mail->Password = '********';        // SMTP password
    $mail->SMTPAuth = true;      // Active l'uthentification par smtp
    $mail->SMTPSecure = 'tls';  // Active encryptage, 'ssl' anciennement ssl
     
    $mail->From = 'monmail@gmail.com';  // Expéditeur : Mail
    $mail->FromName = 'Mon Nom';   // Expéditeur : Nom
    $mail->AddAddress('destinataire@gmail.com', 'françois dupont');  // Destinataire
    //$mail->AddAddress('ellen@example.com'); // Autre destinataire
    $mail->AddReplyTo('monmail@gmail.com', 'Information'); // Définit le mail de réponse
    //$mail->AddCC('cc@example.com');   // destinataire copie carbone
    //$mail->AddBCC('bcc@example.com'); // destinataire copie carbone invisible
    //$mail->SingleTo = true; // Sais pas à quoi sa sert
    $mail->WordWrap = 50; // Sessure des mot à 50 charactères
    //$mail->AddAttachment('/tmp/image.jpg', 'new.jpg');    // Ajoute une pièce jointe
    $mail->IsHTML(true);   // Définit le format comme étant du HTML
     
    $mail->Subject = 'Mon sujet';  // Sujet
    $mail->Body    = 'Mon <b>test</b>'; // Message
    $mail->AltBody = 'heuuu kesako ?'; // Sais pas à quoi ca sert
     
    // Si on ne peut pas envoyer le mail, on affiche l'erreur et on stop le script
    if(!$mail->Send()) {
       echo "Le message n'a pas été envoyé !<br/>.";
       echo 'PHPMailer erreur :<b>' . $mail->ErrorInfo.'</b>';
       exit;
    }
     
    echo 'Message envoyé.'; // Forcément si on arrive ici c'est que tout est OK
    ?>
    Et je reçoit l'erreur suivante
    Le message n'a pas été envoyé !
    PHPMailer erreur :The following From address failed: monmail@gmail.com : Called Mail() without being connected
    // Vérification coter hébergeur :
    fsockopen : activer
    ssl protocole : activer

    // Vérification coter gmail
    IMAP et POP activer

    Il va de soit que monmail@gmail.com n'est utiliser que pour la rédaction de ce post.

    bref, je viens donc vers vous pour m'aider à faire fonctionner le mailer de manière à ne pas avoir des e-mail considéré comme spam.

    D'avance merci de votre aide.
    Spliffer

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 274
    Points : 114
    Points
    114
    Par défaut
    J'ai rajouter les lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mail->SMTPDebug  = 2;
    $mail->Timeout = 30;
    et j'obtiens en plus ce message d'erreur :
    SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
    Ce message arrive après 8-10 secondes donc le timeout doit pas être pris en compte :s

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Est-ce que tu as l'extension php_openSSL activé dans ton php.ini?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Chez quel hébergeur es-tu? As-tu vérifié avec leur support si tu pouvais utiliser un serveur smtp distant sur internet?

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 274
    Points : 114
    Points
    114
    Par défaut
    Alors j'ai essayez en local et ca ne pose aucun souci, une autre hébergeur pas de soucis, donc ca viens bien de mon hébergeur "One.com" un petit phpinfos
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ---- openssl ----
    OpenSSL support :	enabled
    OpenSSL Library Version : OpenSSL 0.9.8o 01 Jun 2010
    OpenSSL Header Version : OpenSSL 0.9.8o 01 Jun 2010
    Donc c'est plutôt surprenant puisque l'OpenSSL est bien activer.

    J'ai ouvert un billet au support depuis jeudi dernier et pas de réponse, je doit terminer le projet pour demain c'est pas gagner :s

    Je me dirige vers cURL, pour envoyer une requête vers le serveur perso de la boîte,
    j'ai fait une page qui envoi le nécessaire par mail (00.000.000.000:81/sendmail.php)
    je lance depuis le serveur pas de souci j'y accède via mon navigateur et l'email est bien envoyer.

    Mais pas via cURL qui me met un beau (couldn't connect to host), peut-être devrais-je créer un nouveau sujet pour cURL.

    Merci pour vos participations

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re,

    As-tu un compte mail sur one.com?

    Si oui, peux-tu tester en configurant ton script php pour utiliser le compte mail one.com?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dans le champ Serveur SMTP, veuillez saisir : send.one.com.
    Sélectionnez Advanced. Pour le Incoming server (IMAP) (serveur entrant) entrez 993 et sélectionnez SSL. Pour le Outgoing server (SMTP) (serveur sortant), entrez 2525 et sélectionnez TLS.
    Vu l'erreur que tu as également avec curl, il me semble que tu ne peux pas contacter un serveur distant.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 274
    Points : 114
    Points
    114
    Par défaut
    Même avec le smtp de one.com ca ne fonctionne pas (j'ai biensure une adresse valide dans mon compte one.com)

    Maintenant si c'est l'hébergeur je suppose que c'est dans le php.ini, mais quel ligne pourrait bloquer ca ?

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 274
    Points : 114
    Points
    114
    Par défaut
    par contre ce qui est encore plus étonnants c'est que cURL fonction sur une url tel que google.com, si one.com empeche le contact externe pourquoi j'y arrive avec google ? :s hummmm, je vais ouvrir un nouveau sujet pour cURL pour pas totalement dévier du sujet de départ.

  9. #9
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Points : 2 440
    Points
    2 440
    Par défaut
    Peut-être que l'hôte refuse toute connexion hors port 80?

    Est-ce que tu as accès à une console?

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 274
    Points : 114
    Points
    114
    Par défaut
    Bonjour,

    Je reviens ici pour cloturer le sujet, une solution à été trouvée.

    En faite j'ai réussi en passant directement par le smtp de l'hébergeur, mais sans authentification, ca fait bizarr surtout quand j'ai toujours utiliser des smtp avec authentification.

    Mais soit, je vous remercie encore pour vos participations.

    A bientôt
    Spliffer

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 03/09/2006, 18h26
  2. Première utilisation d'Hibernate
    Par hdd dans le forum Hibernate
    Réponses: 2
    Dernier message: 03/06/2006, 21h02
  3. [FLASH 8] Première utilisation de composant
    Par Destiny dans le forum Flash
    Réponses: 3
    Dernier message: 24/03/2006, 12h35
  4. Première utilisation
    Par SamDaKap dans le forum C++Builder
    Réponses: 6
    Dernier message: 20/11/2002, 14h22

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