【发布时间】:2014-09-19 17:22:49
【问题描述】:
<?php
require_once "Mail.php";
$from = '<from.gmail.com>';
$to = '<to.yahoo.com>';
$subject = 'Hi!';
$body = "Hi,\n\nHow are you?";
$headers = array(
'From' => $from,
'To' => $to,
'Subject' => $subject
);
$smtp = Mail::factory('smtp', array(
'host' => 'ssl://smtp.gmail.com',
'port' => '465',
'auth' => true,
'username' => 'johndoe@gmail.com',
'password' => 'passwordxxx'
));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo('<p>' . $mail->getMessage() . '</p>');
} else {
echo('<p>Message successfully sent!</p>');
}
?>
但是,程序在 $mail = $smtp->send($to, $headers, $body); 处失败:
验证失败:johndoe@gmail.com
我已确认电子邮件和密码正确无误。如果我提供的密码无效,错误将变为
密码错误
我还尝试在我的帐户上禁用两步验证,但这没有帮助。请告知为什么当凭据看起来正确时我可能会收到此验证错误?
【问题讨论】:
-
你有什么问题?
-
我看到的只是代码。你确定你的依赖设置正确吗?
-
我正在使用这个我收到错误“验证失败:example@gmail.com”
-
我设置正确。使用我自己的邮件地址,但它不起作用
-
只是为了检查一下,您的帐户是否设置了双重身份验证?不确定
ssl://smtp.gmail.com是否强制执行此操作,但认为值得评论以预先排除。