使用 phpmailer 从 Gmail 发送电子邮件。登录错误

Posted

技术标签:

【中文标题】使用 phpmailer 从 Gmail 发送电子邮件。登录错误【英文标题】:Emailing from Gmail using phpmailer. Login Error 【发布时间】:2015-05-06 01:15:29 【问题描述】:

我似乎无法理解为什么我不能使用 php 中的各种邮件类发送电子邮件。我知道我的密码等是正确的。

有人有什么想法吗?

我得到错误:

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 dm6sm8657044wib.22 - gsmtp SMTP 错误:无法验证。梅勒 错误:SMTP 错误:无法验证。

function mail1($to,$body,$subject)

    include "/libs/mailer/classes/class.phpmailer.php"; // include the class name
    $mail = new PHPMailer(); // create a new object
    $mail->IsSMTP(); // enable SMTP
    $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
    $mail->SMTPAuth = true; // authentication enabled
    $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail
    $mail->Host = "smtp.gmail.com";
    $mail->Port = 465; // or 587
    $mail->Ishtml(true);
    $mail->Username = "lewis.morris@gmail.com";
    $mail->Password = "xxxxxxxx";
    $mail->SetFrom("lewis.morris@gmail.com");
    $mail->Subject = $subject;
    $mail->Body = $body;
    $mail->AddAddress($to);

    if(!$mail->Send())
        echo "Mailer Error: " . $mail->ErrorInfo;
    
    else
        echo "Message has been sent";
    


【问题讨论】:

你为什么用gmail的邮件服务器? 我已经设法通过去这里修复它...google.com/settings/security/lesssecureapps 我正在使用 gmails 对其进行测试,因为我还没有托管...在过去一个月左右的时间里,我从头开始自学 PHP/HTML/CSS。 86.24.143.201/home.php(仍然是一个巨大的 WIP)你怎么看 对于您的第一个项目来说还不错。我的第一个网站是……很有趣,比方说。是的。 谢谢老兄,如果有人有任何关于 PHP 的好资源,我将不胜感激 【参考方案1】:

此链接始终可以帮助我解决从我的应用程序登录到 gmail 的任何类型的问题。试试这个可能对你有帮助...

在这里,为不太安全的应用程序启用日志记录:https://www.google.com/settings/u/1/security/lesssecureapps

在这里,点击继续...https://accounts.google.com/b/0/DisplayUnlockCaptcha

检查这里是否有任何登录到您的帐户:https://security.google.com/settings/security/activity?hl=en&pli=1

然后,运行您的代码..

【讨论】:

【参考方案2】:
    更新 PHPMailer 到最新版本 或 在“smtp.gmail.com”之前添加“tls”

#2 使用下面的代码

$mail->SMTPAuth = true;
$mail->SMTPSecure = 'tls';
$mail->Host = "tls://smtp.gmail.com";
$mail->Port = 587; 

【讨论】:

感谢您的帮助,非常感谢! :) @Sakil Alam,但你晚了 5 年 是的,我知道。我只是发布让人们知道谁在搜索这个问题。我正面临这个问题,所以想如果它对他们有帮助。

以上是关于使用 phpmailer 从 Gmail 发送电子邮件。登录错误的主要内容,如果未能解决你的问题,请参考以下文章

PHPMailer 使用 SMTP 身份验证发送电子邮件,但 Gmail 仍然声称它无法验证发件人

使用 PhpMailer 和 gmail 联系我们

PHPMailer使用GMAIL SMTP和多个GMAIL帐户用于多个虚拟主机

PHP Mailer:从 gmail 向 yahoo 发送邮件,无法识别代码

如何删除 PHPMailer 发送的电子邮件中的“通过”

当我在localhost中使用gmail smtp发送电子邮件时,返回长消息