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 :

Envoie de mail PHPMail


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 59
    Points
    59
    Par défaut Envoie de mail PHPMail
    Bonjour,

    depuis quelque jours j'essaie de faire des envoie de mail automatique à l'aide de PHPMailer mais je n'y arrive pas :/
    Si vous pouviez m'aider je suis sur que c'est tout bète

    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
     
    function smtpmailer($to, $body) { 
    			global $error;
    			$mail = new PHPMailer();  // create a new object
    			$mail->IsSMTP(); // enable SMTP
    			$mail->SMTPDebug = 0;  // debugging: 1 = errors and messages, 2 = messages only
    			$mail->SMTPAuth = true;  // authentication enabled
    			$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    			$mail->Host = 'ssl://smtp.gmail.com:465';
    			$mail->Port = 465; 
    			$mail->Username = "bookzisfurious@gmail.com";
    			$mail->Password = "mot_de_passe";    
    			$mail->Mailer = "smtp";			
    			$mail->SetFrom("bookzisfurious@gmail.com", "bookzisfurious@gmail.com");
    			$mail->Subject = "Perte mot de passe";
    			$mail->Body = $body;
    			$mail->AddAddress($to);
    			if(!$mail->Send()) {
    				$error = 'Mail error: '.$mail->ErrorInfo; 
    				echo "\n".$error."\n";
    				return false;
    			} else {
    				$error = 'Message sent!';
    				echo $error."\n";;
    				return true;
    			}
    		}
    Ca me met cette erreur :
    SMTP Error: Could not connect to SMTP host.
    Mail error: SMTP Error: Could not connect to SMTP host.

    Merci pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Points : 1 638
    Points
    1 638
    Par défaut
    Je connais pas PHPMailer mais la ligne 9 est-elle exacte ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail->Host = 'ssl://smtp.gmail.com:465';
    Serait-ce pas tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mail->Host = 'smtp.gmail.com';
    Règle N° 1 : Si tout va bien, ne touchez à rien.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    Euh ba au début j'avais cette ligne mais ca ne fonctionnait pas non plus et en cherchant sur le net j'ai vu qu'en rajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ssl://smtp.google.com:465
    ca pouvais résoudr ele problème, mais ca n'a pas marché pour mon cas :/

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Points : 1 638
    Points
    1 638
    Par défaut
    Sur la doc pour gmail j'ai trouvé ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mail->Host = "ssl://smtp.gmail.com";
    $mail->Port = 465;
    Peut-être que tu n'as pas besoin de spécifier le port dans le Host
    Règle N° 1 : Si tout va bien, ne touchez à rien.

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    meme erreur en testant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    $mail->Host = 'smtp.gmail.com';
    $mail->Port = 465;
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    $mail->Host = 'ssl://smtp.gmail.com';
    $mail->Port = 465;
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    $mail->Host = 'ssl://smtp.gmail.com:465';
    //$mail->Port = 465;
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    //$mail->Host = 'ssl://smtp.gmail.com:465';
    //$mail->Port = 465;

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    Peut etre cela vient du fait que j'ai mal importer la bibliothèque PHPMail
    j'ai comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (file_exists("../PHPMailer/class.phpmailer.php"))
    		include_once("../PHPMailer/class.phpmailer.php");
     
     
    	class Personne {
                function smtpmailer($to, $body) { 
                    //...
                 }
              }
    et mon arborescence
    -projet
    --PHPMailer
    --Class
    ---Personne.class

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2010
    Messages : 58
    Points : 59
    Points
    59
    Par défaut
    Bon alors j'avance un peu mais toujours pas d'envoie de mail :/

    J'ai pris la denrière version de PHPMailer et dans php.ini j'ai enlevé le ; devant extension=php_openssl.dll
    J'ai aussi mis $mail->SMTPDebug = 1; au lieu de 0
    j'ai cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SMTP -> ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Hôte inconnu. (0) 
    The following From address failed: bookzisfurious@gmail.com
    Pour info j'utilise easyphp 5.3.9 et l'application tourne en local, j'aimerais envoyé des mail grâce au smtp google.

  8. #8
    Membre actif
    Homme Profil pro
    PDG
    Inscrit en
    Septembre 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : PDG
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2005
    Messages : 101
    Points : 225
    Points
    225
    Par défaut
    As-tu résolu ton problème, charles888 ?
    J'ai dpu faire face au même. Du jour au lendemain mettre le nom du serveur mail n'a plus fonctionné. Heureusement il est sur le même serveur. En le remplaçant par 'localhost' ça a refonctionné.
    Bon, ça ne peut pas fonctionner pour toi, mais ça me fait me demander si ce n'est pas un bug de PHP...

    EDIT : Bon, finalement c'est un problème avec apache.
    Il faut l'arrêter puis le redémarrer. Simplement le redémarrer ne fonctionne pas...

Discussions similaires

  1. Envoi de mail au format html
    Par Mephyston dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/01/2004, 12h29
  2. Envoi de mail au format Rich-Text
    Par LineLe dans le forum ASP
    Réponses: 4
    Dernier message: 29/10/2003, 16h27
  3. envoi de mail avec attachement de fichier
    Par GMI3 dans le forum Modules
    Réponses: 2
    Dernier message: 24/09/2003, 11h22
  4. Outlook ne se ferme pas après un envoi de mail
    Par Joke dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/06/2003, 17h32
  5. envoi de mail, protocol SMTP langage C
    Par Heimdall dans le forum Développement
    Réponses: 2
    Dernier message: 23/05/2003, 11h22

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