首页 文章

PHPMailer不能与gmail一起使用

提问于
浏览
1

在尝试让我的PHPMailer运行gmail几天后,我必须在这里找到一些帮助 . 我几乎读到了我在这里或谷歌所能找到的一切,但直到现在,这些想法都没有帮助 . 我正在使用* Windows 7 Home Basic * Wampserver 2.2和PHP vers . PHP版本5.4.3所有必要的扩展都设置为e . G . php_opensll * PHPMailer 5.2.9

这是我正在使用的脚本:

<?php
//require 'PHPMailerAutoload.php';                                              // <<== I have tried this also - no sucess

require 'class-phpmailer.php';
require "class-smtp.php"; //"PHPMailerAutoload.php";
// $mail->PluginDir //WB, 30 Nov 2014:omited if all files from phpmailer are in the same folder
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "smtp.gmail.com";
$mail->Mailer = 'smtp';
$mail->SMTPAuth = true;
// I have tried both - TLS and SSL - with the required ports ==>> both are not working 
$mail->Port = 465;
$mail->SMTPSecure = 'ssl';
// or try these settings (worked on XAMPP and WAMP):
//$mail->Port = 587;
//$mail->SMTPSecure = 'tls';

$mail->Username = "wie****@gmail.com";      //my password ==>> works if I make a login oline to my account
$mail->Password = "*************";  //my password ==>> works if I make a login oline to my account

$mail->SMTPDebug  = 2;                      // <<== enables SMTP debug information (for testing)

$mail->IsHTML(true);    // if you are going to send HTML formatted emails
$mail->SingleTo = true; // if you want to send a same email to multiple users. multiple emails will be sent one-by-one.

$mail->From = "wie****@gmail.com";                  //my gmail mail account
$mail->FromName = "My Name";

$mail->addAddress("art******@yahoo.com","art******"); //my yahoo mail account
//$mail->addAddress("user.2@gmail.com","User 2");

//$mail->addCC("user.3@ymail.com","User 3");
//$mail->addBCC("user.4@in.com","User 4");

$mail->Subject = "Testing PHPMailer with localhost";
$mail->Body = "Hi,

This system is working perfectly."; if(!$mail->Send()) echo "Message was not sent
PHPMailer Error: " . $mail->ErrorInfo; else echo "Message has been sent"; ?>

我正在尝试我可以在网上找到的任何变化,但没有任何作用 .

我尝试过 - 'PHPMailerAutoload.php'和'class.phpmailer.php'作为必需的类 - “$ mail-> SMTPSecure ='ssl';”和“$ mail-> Port = 465;”以及 - “$ mail-> SMTPSecure ='tls';”和“$ mail-> Port = 587;”

以下是调试日志文件:

将TLS与端口587一起使用时的调试日志 - > FROM SERVER:220 mx.google.com ESMTP cq6sm24503844pad.30 - gsmtp SMTP - > FROM SERVER:250-mx.google.com为您服务,[121.54.112.183] 250-SIZE 35882577 250-8BITMIME 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 SMTP - > FROM SERVER:220 2.0.0准备启动TLS SMTP - > FROM SERVER:250-mx.google.com服务,[121.54.112.183] 250-SIZE 35882577 250-8BITMIME 250-AUTH登录平面XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 SMTP - >错误:服务器不接受密码:534-5.7 .14请通过网络浏览器和534-5.7.14登录,然后重试 . 534-5.7.14了解更多信息,请访问534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 cq6sm24503844pad.30 - gsmtp SMTP - > FROM SERVER:250 2.1.5已刷新cq6sm24503844pad .30 - gsmtp SMTP - > FROM SERVER:530-5.5.1需要验证 . 如需了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtp SMTP - >错误:服务器不接受邮件:530-5.5.1身份验证需要 . 如需了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtp以下发件人地址失败:wiedeia@gmail.com:服务器不接受MAIL ,530,5.5.1需要身份验证 . 如需了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtp SMTP服务器错误:5.5.1需要验证 . 了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtp未发送消息PHPMailer错误:以下发件人地址失败:wiedeia @ gmail . com:不接受来自服务器的MAIL,需要530,5.5.1身份验证 . 如需了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtp SMTP服务器错误:5.5.1需要验证 . 如需了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtp SMTP服务器错误:5.5.1需要验证 . 了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 cq6sm24503844pad.30 - gsmtp将SSL与端口465一起使用时的Debug-Log SMTP - > FROM SERVER:220 mx .google.com ESMTP kj9sm24304154pbc.37 - gsmtp SMTP - > FROM SERVER:250-mx.google.com为您服务,[121.54.112.183] 250-SIZE 35882577 250-8BITMIME 250-AUTH登录平台XOAUTH XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER 250-CHHANELEDSTATUSCODES 250-PIPELINING 250-CHUNKING 250 SMTPUTF8 SMTP - >错误:服务器不接受密码:534-5.7.14请通过网络浏览器和534-5.7.14登录,然后重试 . 534-5.7.14了解更多信息,请访问534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 kj9sm24304154pbc.37 - gsmtp SMTP - > FROM SERVER:250 2.1.5已刷新kj9sm24304154pbc .37 - gsmtp SMTP - > FROM SERVER:530-5.5.1需要验证 . 如需了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtp SMTP - >错误:服务器不接受邮件:530-5.5.1身份验证需要 . 如需了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtp以下发件人地址失败:wiedeia@gmail.com:服务器不接受MAIL ,530,5.5.1需要身份验证 . 有关详情,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtp SMTP服务器错误:5.5.1需要验证 . 了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtp未发送消息PHPMailer错误:以下发件人地址失败:wiedeia@gmail.com:MAIL未被服务器接受,需要530,5.5.1认证 . 有关详情,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtp SMTP服务器错误:5.5.1需要验证 . 有关详情,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtp SMTP服务器错误:5.5.1需要验证 . 如需了解更多信息,请访问530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 kj9sm24304154pbc.37 - gsmtp

我检查了gmail提供的调试链接 . 但没有任何作用 . 当我使用相同的用户和密码信息登录我的帐户时,它可以正常工作 .

我还遵循了我在网上发现的建议,允许不太安全的应用程序 . 我还允许使用链接https://accounts.google.com/DisplayUnlockCaptcha访问Google帐户

然后我用端口扫描器检查了端口,两个端口都被提到关闭 . 但我猜他们会在应用程序要求时打开 . 使用telnet smtp.gmail.com进行检查已成功 .

我也试过这个脚本而没有运行任何防病毒和防火墙 - 没有结果 .

我慢慢地慢慢地对这个问题感到有点生气 . 可能有人可以帮助我 .

安德烈亚斯

1 回答

  • 0

    亚瑟,知道正确的细节,回答是很重要的 . 我的意思是,如果您启用了两个因子身份验证,则需要设置一个应用程序专用密码来代替您的电子邮件帐户密码 .

    您可以按照以下说明生成应用程序专用密码:https://support.google.com/accounts/answer/185833

    然后将$ mail-> Password设置为您的应用程序专用密码 .

    随机解决:有时,我们必须为某些帐户启用两步验证然后它才能工作(我不知道其背后的正确原因,但这适用于某些帐户)

    但是从外面来看,这里有一些提示来解决这个问题:1)再次检查[你说你检查过]你的PHP上正确配置了SSL(处理它的模块打开了,你需要sysdmin的一些支持来设置配置.3)打开这个https://support.google.com/mail/answer/14257?hl=en并选择按照说明操作,谷歌服务器阻止来自未知服务器的任何尝试,所以一旦你点击验证码检查每件事情都会好的

    我希望你能快点解决这个问题!

相关问题