通过 smtp.gmail.com 发送 php 邮件连接
Posted
技术标签:
【中文标题】通过 smtp.gmail.com 发送 php 邮件连接【英文标题】:send php mail connecting through smtp.gmail.com 【发布时间】:2015-05-11 05:08:54 【问题描述】:我正在尝试运行此脚本来发送电子邮件
require_once('phpMailer/PHPMailerAutoload.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Username = 'myaccount@gmail.com';
$mail->Password = 'mypass';
$mail->Port = '465';
$mail->SMTPDebug = 1;
$mail->SetFrom('myaccount@gmail.com', 'NAME SURNAME');
$mail->Subject = 'FeedBack';
$mail->Msghtml('hello');
$address = 'destination@gmail.com';
$mail->AddAddress($address);
$mail->Send();
if(!$mail->Send())
echo 'Mailer Error: ' . $mail->ErrorInfo;
else
echo 'Message sent!';
?>
但它返回给我这些错误:
2015-03-09 21:29:37 客户端 -> 服务器:EHLO www.mydomain.com
2015-03-09 21:29:37 客户端 -> 服务器:授权登录
2015-03-09 21:29:37 客户端 -> 服务器: Y29pbGx0ZWFuY2FwaXRhbGRldmVsb3BknfBnbWFpbC5jb20=
2015-03-09 21:29:37 客户端 -> 服务器:bmVgr2Vic2l0ZQ==
2015-03-09 21:29:37 SMTP 错误:密码命令失败:534-5.7.14 请通过您的网络浏览器登录,然后重试。 534-5.7.14 在 534 5.7.14 了解更多信息 https://support.google.com/mail/bin/answer.py?answer=78754 n3sm29933619wja.36 - gsmtp
2015-03-09 21:29:37 客户端 -> 服务器:退出
2015-03-09 21:29:37 SMTP 连接()失败。
2015-03-09 21:29:37 客户端 -> 服务器:EHLO www.mydomain.com
2015-03-09 21:29:37 客户端 -> 服务器:授权登录
2015-03-09 21:29:37 客户端 -> 服务器: Y29pbGx0ZWFuY2FwaXRhbvRldcVsb3BlckBnbWFpbC5jb20=
2015-03-09 21:29:37 客户端 -> 服务器:bmV3d2Vic2l0ZQ==
2015-03-09 21:29:37 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 y14sm29932162wjr.39 - gsmtp
2015-03-09 21:29:37 客户端 -> 服务器:退出 2015-03-09 21:29:37 SMTP 连接失败。邮件程序错误:SMTP 连接()失败。
我不明白为什么。如果我在 wamp 服务器上本地运行此脚本,它可以工作,但如果将它上传到在线服务器 (linux),它就不起作用。
【问题讨论】:
密码命令失败: 密码正确!如果我在 wamp 服务器上本地运行此脚本,它可以工作,但如果将它上传到在线服务器 (linux),它就不起作用。只需复制和粘贴! in the PHPMailer troubleshooting docs 涵盖了这个确切的问题,并且您使用的是旧版本。 【参考方案1】:通过删除$mail->IsSMTP();
解决了奇怪的问题
【讨论】:
这意味着您只使用 mail() 和本地邮件服务器进行发送,而不是 gmail 出于同样的原因,它可能只是在上游进一步失败。 但是现在通过删除该行,我是否以正确的方式做事?或者可能有一些问题? “对”?您使用 php 邮件功能而不是 smtp 服务器的直接套接字,您还使用完全不同的邮件服务器。这适合你吗?那是你的电话。 我明白,但这会给应用程序带来问题?以上是关于通过 smtp.gmail.com 发送 php 邮件连接的主要内容,如果未能解决你的问题,请参考以下文章
Django 通过 smtp.gmail.com 发送电子邮件的问题
wamp sendmail 无法通过 smtp.gmail.com:587 发送电子邮件 [重复]