在尝试让我的PHPMailer使用gmail运行了几天后,我不得不在这里找到一些帮助。我几乎阅读了我在这里或谷歌上能找到的所有内容,但直到现在,这些想法都没有帮助。我正在使用*Windows 7 Home Basic*Wampserver 2.2与PHP版本。PHP 5.4.3版所有必要的扩展都像php_opensell一样设置*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,<br /><br />This system is working perfectly.";
if(!$mail->Send())
echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo;
else
echo "Message has been sent";
?>
我已经在尝试我能在网上找到的任何变体,但都不起作用。
我试过了-"PHPMailerAutoload.php"one_answers"class.phpmailer.php"作为必需类-"$mail->SMTPSecure='ssl';"one_answers"$mail->端口=465;"以及-"$mail->SMTPSecure='tls';"one_answers"$mail->端口=587;">
以下是调试日志文件:
使用端口587 的TLS时的调试日志
SMTP->来自服务器:220 mx.google.com ESMTP cq6sm2453844pad.30-gsmtp SMTP->FROM SERVER:250-mx.google.com为您服务,[121.54.112.183]250-SIZE 35882577 250-8BITMIME 250-STARTTLS250-加强型250-冲压250-冲压250 SMTPUTF8 SMTP->FROM SERVER:220 2.0.0准备启动TLS SMTP->FROM SERVER:250-mx.google.com,由您提供服务,[121.54.112.183]250-SIZE 35882577250-8BITMIME 250-AUTH登录普通XOAUTH XOAUTH2普通客户端OAUTHBEARER 250-增强型状态250-筛选250-查询250SMTPUTF8 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=78754cq6sm2453844pad.30-gsmtp SMTP->来自服务器:250 2.1.5刷新cq6sm2453844pad.30-gsmtp SMTP->来自服务器:530-5.5.1需要身份验证。请访问530 5.5.1了解更多信息http://support.google.com/mail/bin/answer.py?answer=14257cq6sm2453844pad.30-gsmtp SMTP->错误:未接受来自的邮件服务器:530-5.5.1需要身份验证。请访问530 5.5.1了解更多信息http://support.google.com/mail/bin/answer.py?answer=14257cq6sm24503844pad.30-gsmtp以下From地址失败:wiedeia@gmail.com:服务器不接受邮件,530,5.5.1需要身份验证。请访问530 5.5.1了解更多信息http://support.google.com/mail/bin/answer.py?answer=14257cq6sm24503844第30页-gsmtp
SMTP服务器错误:5.5.1需要身份验证。请访问530了解更多信息5.5.1http://support.google.com/mail/bin/answer.py?answer=14257cq6sm2453844pad.30-gsmtp消息未发送PHPMailer错误:以下发件人地址失败:wiedeia@gmail.com:不接受邮件来自服务器,530,5.5.1需要身份验证。请访问530 5.5.1了解更多信息http://support.google.com/mail/bin/answer.py?answer=14257cq6sm24503844第30页-gsmtp
SMTP服务器错误:5.5.1需要身份验证。请访问530了解更多信息5.5.1http://support.google.com/mail/bin/answer.py?answer=14257cq6sm24503844第30页-gsmtp
SMTP服务器错误:5.5.1需要身份验证。请访问530了解更多信息5.5.1http://support.google.com/mail/bin/answer.py?answer=14257cq6sm24503844第30页-gsmtp
使用带有端口465 的SSL时的调试日志
SMTP->来自服务器:220 mx.google.com ESMTP kj9sm24304154bc.37-gsmtp SMTP->FROM SERVER:250-mx.google.com为您服务,[121.54.112.183]250-SIZE 35882577 250-8BITMIME 250-AUTH登录平原XOAUTH XOAUTH2普通客户端OAUTHBEARER 250增强型状态250-PIPLINING 250-CHUKING 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=78754kj9sm24304154bc.37-gsmtp SMTP->来自服务器:250 2.1.5已刷新kj9sm24304154bc.37-gsmtp SMTP->来自服务器:530-5.5.1需要身份验证。请访问530 5.5.1了解更多信息http://support.google.com/mail/bin/answer.py?answer=14257kj9sm24304154bc.37-gsmtp SMTP->错误:未接受来自的邮件服务器:530-5.5.1需要身份验证。请访问530 5.5.1了解更多信息http://support.google.com/mail/bin/answer.py?answer=14257kj9sm24304154bc.37-gsmtp以下From地址失败:wiedeia@gmail.com:服务器不接受邮件,530,5.5.1需要身份验证。请访问530 5.5.1了解更多信息http://support.google.com/mail/bin/answer.py?answer=14257kj9m24304154 bc.37-gsmtp
SMTP服务器错误:5.5.1需要身份验证。请访问530了解更多信息5.5.1http://support.google.com/mail/bin/answer.py?answer=14257kj9sm24304154pbc.37-未发送gsmtp消息PHP邮件错误:以下发件人地址失败:wiedeia@gmail.com:不接受邮件来自服务器,530,5.5.1需要身份验证。请访问530 5.5.1了解更多信息http://support.google.com/mail/bin/answer.py?answer=14257kj9m24304154 bc.37-gsmtp
SMTP服务器错误:5.5.1需要身份验证。请访问530了解更多信息5.5.1http://support.google.com/mail/bin/answer.py?answer=14257kj9m24304154 bc.37-gsmtp
SMTP服务器错误:5.5.1需要身份验证。请访问530了解更多信息5.5.1http://support.google.com/mail/bin/answer.py?answer=14257kj9m24304154 bc.37-gsmtp
我检查了gmail提供的调试链接。但什么都不管用。当我使用相同的用户和密码信息登录到我的网络帐户时,它就起作用了。
我还遵循了我在网上找到的建议,允许使用不太安全的应用程序。此外,我允许使用链接访问我在谷歌的帐户https://accounts.google.com/DisplayUnlockCaptcha
然后我用端口扫描仪检查了端口,两个端口都被提到是关闭的。但我想它们会在应用程序请求时打开。已成功通过telnet smtp.gmail.com进行检查。
我在没有运行任何防病毒和防火墙的情况下也尝试了这个脚本——没有结果。
慢慢地,慢慢地,我对这个问题有点生气。也许有人能在这里帮我。
Andreas
Arthur,在不知道正确细节的情况下回答是愚蠢的。我的意思是,如果你启用了双因素身份验证,你需要设置一个特定于应用程序的密码来代替你的电子邮件帐户的密码。
您可以按照以下说明生成特定于应用程序的密码:https://support.google.com/accounts/answer/185833
然后将$mail->Password设置为您的应用程序特定密码。
随机工作:有时,我们必须为一些帐户启用两步验证,然后它就会工作(我不知道背后的正确原因,但这对一些帐户有效)
但从外部来看,以下是解决此问题的一些提示:1) 再次检查[你说U检查了它]SSL在你的PHP上正确配置(处理它的模块默认不会安装在PHP上。你必须在phph.ini中检查你的配置)。2) 检查您的防火墙是否允许呼出呼叫到所需的端口(此处为465或587)。使用telnet来完成此操作。如果端口没有打开,则需要sysadmin的一些支持来设置配置。3) 打开此https://support.google.com/mail/answer/14257?hl=en并选择遵循说明,谷歌服务器会阻止来自未知服务器的任何尝试,所以一旦你点击captcha检查,一切都会好起来的
我希望你能尽快解决这个问题!