PHP通过Gmail smtp获取错误使用PEAR Mail发送电子邮件

时间:2017-11-30 02:29:57

标签: php email gmail pear

我正在尝试使用PEAR Mail通过我的gmail smtp发送电子邮件

我做了很多天的研究并尝试了很多选项,我总是得到错误:

  

错误:身份验证失败[SMTP:收到无效的响应代码   来自服务器(代码:535,响应:验证数据不正确)**]

这是我的代码:

+ item1
    |---- date : 1512008295000
    |---- etc : etc
  • 在我的php.ini上启用了OpenSSL
  • PEAR - Mail - Mail_Mime - Net_SMTP - NET_Socket - Auth_SASL是
  • 在我的Google帐户上#34;安全性较低的应用"是开启

  • 还尝试了" 2-Step-Verification"并使用密码 Google提供的代码

我知道还有其他几种选择(Swift Mailer ......)但我有自己的理由让PEAR Mail工作

提前致谢!

1 个答案:

答案 0 :(得分:0)

简单的工作测试代码:

<?php

require "Mail.php";

$to = "dddd@gmail.com";
$from = "llll@gmail.com"; // the email address
$subject = "hiii";
$body = "\n\nEmail contents here";

$host = "smtp.gmail.com";
$port = "587";
$user = "hhh@gmail.com";
$pass = "hhh";

$headers = array("From" => $from, "To" => $to, "Subject" => $subject);
$smtp = @Mail::factory("smtp", array("host" => $host, "port" => $port, "auth" => true, "username" => $user, "password" => $pass));
$mail = @$smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
    echo "error: {$mail->getMessage()}";
} else {
    echo "Message sent";
}

enter image description here

您必须使用 Google 应用密码:

enter image description here