Phpmailer à l'aide de smtp de Gmail ne fonctionne pas de la connexion de time out
J'ai regardé dans les liens suivants:
phpmailer envoyer smtp de gmail délai d'attente
envoyer e-mail à l'aide de SMTP de Gmail serveur via PHP Mailer
http://uly.me/phpmailer-and-gmail-smtp/
...et essayé de mettre en place pour moi-même une combinaison de ceux-cependant...la plupart du temps, il envoie ce message...
Message n'a pas pu être envoyé.
Mailer Erreur: SMTP connect() a échoué.
Cependant, il était un temps où il a envoyé ce quand j'ai testé entre "tls" et "ssl"...
SMTP ERREUR: impossible de se connecter au serveur: Connection timed out (110) SMTP connect() a échoué.
Message n'a pas pu être envoyé.Mailer Erreur: SMTP connect() a échoué.
Mon code est attaché...je n'ai en quelque sorte raté quelque chose? J'ai demandé le service d'hébergement web si elles sont de blocage et leur a donné un modèle de mon code - ils ont dit que le serveur autorise les connexions à Gmail SMTP.
require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail -> IsSMTP();
$mail -> SMTPDebug = 2;
$mail -> SMTPAuth = 'true';
$mail -> SMTPSecure = 'tls';
$mail -> SMTPKeepAlive = true;
$mail -> Host = 'smtp.gmail.com';
$mail -> Port = 587;
$mail -> IsHTML(true);
$mail -> Username = "[email protected]";
$mail -> Password = "mypassword";
$mail -> SingleTo = true;
$to = xxx;
$from = xxx;
$fromname = xxx;
$subject = xxx;
$message = xxx
$headers = "From: $from\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$mail -> From = $from;
$mail -> FromName = $fromname;
$mail -> AddAddress($to);
$mail -> Subject = $subject;
$mail -> Body = $message;
if(!$mail -> Send()){
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail-> ErrorInfo;
exit;
}
J'ai aussi regardé dans les lien il n'est pas de l'aide car j'ai expérimenté avec ssl et tls et il donne le même résultat
j'ai édité ma réponse, jetez un oeil au cas où vous l'auriez manqué
OriginalL'auteur redber2009 | 2013-10-07
Vous devez vous connecter pour publier un commentaire.
J'ai creusé. Utilisation fsocketopen, qui est native de php, pour tester la connexion et d'éliminer la plupart des problèmes potentiels. Écrire une simple page php avec ceci:
Vous devriez revenir "ok". Si non, vous savez que vous avez un problème de connexion qui n'a rien à voir avec Phpmailer. Si c'est le cas, c'est probablement la société d'hébergement. Si non, alors il est probablement quelque chose de simple à propos de la différence entre votre hôte local et de la société d'hébergement comme les différentes versions de php.
Je soupçonne tout de même que ce script ne sera pas à la connexion
Cela signifie que la société d'hébergement n'est pas de bloquer le port. Doit être un problème de configuration avec phpMailer
J'ai un problème similaire de bloqué / non bloqué. Reliant ici pour la visibilité stackoverflow.com/questions/32827193/...
OriginalL'auteur Casey
J'ai eu ce même problème et résolu:
Tout d'abord, activer smtp journalisation des erreurs dans phpmailer:
Puis relancez votre phpmailer e-mail envoyer. Vous pourrez voir l'intégralité de la conversation SMTP sur la sortie d'erreur standard. Si vous utilisez un serveur web, regardez dans le fichier journal du serveur web.
Je pourrais alors voir la réponse d'erreur à partir de gmail. Gmail a été de ne pas accepter la connexion.
L'erreur dans la conversation smtp renvoie à un l'article. Il donne quelques conseils:
OriginalL'auteur Larry K
Utiliser ssl
Port 465
Changer votre hôte:
Nous espérons qu'il fonctionne
Merci bien 😉
eh bien je suis désolé de dire que sa vous à la machine hôte qui agit. :S
Merci frère. Il fonctionne pour moi.
cela a résolu mon problème! smtp (erreur) merci! je viens de changer mon port bof 587 à 465 🙂
OriginalL'auteur Krimson
Assurez-vous que vous pouvez accéder à gmail à partir de votre hébergeur. Je suis en supposant que c'est linux. SSH et sur le type de ligne de commande
Vous devriez revenir
Il a une configuration de différence entre localhost et votre fournisseur de
Pouvez-vous en ssh sur votre serveur? Et la seule chose que vous devez savoir est si le port 587 est bloqué. Si ils vous disent qu'il n'est pas que ne veut pas forcément dire qu'il ne l'est pas. Quel hébergeur utilisez-vous, et est-il d'hébergement mutualisé?
c'est l'hébergement mutualisé - celle que vous obtenez pour moins de 5$ par mois. Webhostingpad
J'ai creusé en elle ici de sorte que vous ne pouvez pas obtenir SSH sans avoir à payer.
OriginalL'auteur Casey
Cette question a beaucoup de doublons, donc voici une conserve réponse:
OriginalL'auteur Synchro
Qui pourrait probablement être Gmail bloque l'accès.
Aller à vos configurations de sécurité et de voir si cela bloque tout accès..
Ou essayez de changer votre mot de passe et réessayez.
OriginalL'auteur Rafael Fix
Ajouter
avant, y compris l'autochargeur. SMTP a Besoin d'avoir le fuseau horaire défini ce qui était mon problème.
OriginalL'auteur Morgan Green
Télécharger sendmail pour Windows à partir de
http://www.glob.com.au/sendmail/sendmail.zip
Copie sendmail.exe et sendmail.ini dans C:/usr/lib/
Modifier sendmail.ini et entrez votre compte e-mail des informations d'identification.
Vous pouvez configurer ces 2 champs (ou l'envoi peut ne pas fonctionner)
[email protected]
[email protected]
Au fait, j'ai décommenté debug_logfile afin que je puisse voir ce que les données sont envoyées vers mon serveur SMTP.
modifier c:\php\php.ini
sendmail_from = [email protected]
; Pour Unix uniquement. Vous pouvez fournir des arguments (par défaut: "sendmail -t-i").
sendmail_path = C:/usr/lib/sendmail.exe -t-i
Redémarrer apache
Démarrer sendmail.exe soit à partir de [Start] > Exécuter > C:/usr/lib/sendmail.exe ou Aller à C:/usr/lib dans l'Explorateur Windows, puis double-cliquez sur le fichier exe.
Et cette solution apparaît dans Sendmail Wamp Php
Je l'ai essayé sur Windows 10 maintenant et il fonctionne avec le compte gmail
Ajouté:
Ouvrir CMD et faire un sendmail en tant que démon/service à l'aide de
Maintenant, assurez-vous de disposer d'OpenSSL installée sur votre système, vous pouvez le télécharger ici: https://slproweb.com/products/Win32OpenSSL.html
Installe la version que vous avez besoin et ne me souviens pas d'installer des fichiers à un dossier windows". Effectuez un redémarrage et essayez à nouveau, vous l'avez résolu.
OriginalL'auteur Newtron