J'ai essayé d'utiliser PHP Mailer mais des erreurs comme suit.
<?php require("class.phpmailer.php") $mail = new PHPMailer(); $mail->IsSMTP(); $mail->Host = "smtp.gmail.com"; $mail->Port = 465; $mail->SMTPAuth = true; $mail->SMTPDebug = 2; $mail->Username = "admin@xxxxxxxxxxxx.in"; $mail->Password = "xxxxxxxx"; $mail->From = "admin@xxxxxxxxxxxx.in"; $mail->FromName = "Mailer"; $mail->AddAddress("xxxx@yahoo.co.in", "mine"); $mail->WordWrap = 50; $mail->IsHTML(true); $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"; if(!$mail->Send()) { echo "Message could not be sent. <p>"; echo "Mailer Error: " . $mail->ErrorInfo; exit; } echo "Message has been sent"; ?>
9 Réponses :
pas sûr, mais essayez $ mail-> hôte = "smtp.gmail.com" => $ mail-> host = "smtp.google.com" code> p>
peut être à cause du mur de pompiers? P>
Si vous ne pouvez pas vous connecter à Google Talk, ou vous recevez une erreur qui dit, ne pouvait pas s'authentifier à serveur, vérifiez si vous avez personnel logiciel de pare-feu installé ou si votre ordinateur est derrière un serveur proxy qui nécessite un nom d'utilisateur et un mot de passe. P> blockQuote>
http://www.google.com /Support/Talk/bin/answer.py?hl=fen&answer=30998 P>
Parler n'est pas mail, n'est-ce pas?
Certains serveurs (en particulier l'hébergement partagé) vous empêcheront d'utiliser SSL avec SMTP, j'ai eu le même problème une fois. P>
Soit modifier l'hôte si vous le pouvez, essayez d'utiliser la fonction PHP (PHP () par défaut ou envoyez un autre serveur de messagerie qui ne nécessite pas SSL E.G. Port 25 non 465. P>
quelque chose comme authsmtp serait votre meilleur choix pour un serveur de messagerie alternatif. P>
J'ai essayé d'utiliser la fonction de messagerie PHP mais que le courrier n'était aussi pas envoyé.
J'avais cela en raison d'un mauvais port pour SSL. P>
SSL = 465 TLS = 587 P>
Voir: http://mail.google.com/support/bin/answer.py?hl= en & réponse = 13287 p>
Cette réponse ... C'est celui qui a finalement travaillé pour moi après beaucoup de dépannage. Merci Monsieur.
Si vous travaillez dans votre localhost, allez simplement à la
J'ai eu les mêmes problèmes, il semble que nous ayons
pour définir la valeur SMPTSécure.
J'ai d'abord changé le port de 465 à 587 et ajouté:
$ mail-> smtpsecure = "TLS";
et cela a fonctionné :) p>
J'utilise le même script pour plusieurs clients et ne rencontre que ce problème lors du déploiement de fournisseurs de clouds d'Amazon EC2 (tels que OpenShift). p>
Ce sont des paramètres éprouvés et testés dans PHPMailer: $ mail-> smtpsecure = "TLS"; // définit le préfixe sur le servier $ mail-> host = "smtp.gmail.com"; // définit gmail comme serveur SMTP $ mail-> port = 587; p>
'mais' google bloque ces services comme une manœuvre "anti-spam" / politique, et cela m'a attrapé parce qu'il fonctionne localement et sur la plupart des fournisseurs d'hébergement, il n'y a rien beaucoup que vous puissiez faire quand ils n'acceptent pas Messages sortants de vos hôtes DNS / IP. Acceptez-le et passez à autre chose en recherchant un autre serveur SMTP pour acheminer des messages. P>
Essayez ce code
require 'PHPMailerAutoload.php'; //Create a new PHPMailer instance $mail = new PHPMailer(); //Tell PHPMailer to use SMTP $mail->IsSMTP(); //Enable SMTP debugging // 0 = off (for production use) // 1 = client messages // 2 = client and server messages //$mail->SMTPDebug = 2; //Ask for HTML-friendly debug output //$mail->Debugoutput = 'html'; //Set the hostname of the mail server $mail->Host = 'smtp.gmail.com'; //Set the SMTP port number - 587 for authenticated TLS, a.k.a. RFC4409 SMTP submission $mail->Port = 465; //Set the encryption system to use - ssl (deprecated) or tls $mail->SMTPSecure = 'ssl'; //Whether to use SMTP authentication $mail->SMTPAuth = true; //Username to use for SMTP authentication - use full email address for gmail $mail->Username = "admin@gmail.com"; //Password to use for SMTP authentication $mail->Password = "admin123"; $mail->setFrom('admin3@gmail.com', 'development'); //add sender email address. $mail->addAddress('admins@gmail.com', "development"); //Set who the message is to be sent to. //Set the subject line $mail->Subject = $response->subject; //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body $mail->Body = 'Name: '.$data['name'].'<br />Location: '.$data['location'].'<br />Email: '.$data['email'].'<br />Phone:'.$data['phone'].'<br />ailment: '.$data['ailment'].'<br />symptoms: '.$data['symptoms']; //Replace the plain text body with one created manually $mail->AltBody = 'This is a plain-text message body'; //Attach an image file //$mail->addAttachment('images/phpmailer_mini.gif'); //$mail->SMTPAuth = true; //send the message, check for errors if (!$mail->send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; }
$ mail-> smtpsecure = 'SSL'; fait la différence pour moi, merci!
@ Cyrille Armanger accepte la réponse si c'est un travail :) Merci d'avance
Je ne suis pas l'affiche originale, ça m'a juste aidé.
avait le même problème, modifier le port de port NO dans OpenCart Mail Paramètre sur 587 et fonctionne bien p>
Vous avez besoin d'une connexion sécurisée, n'est-ce pas?