我正在使用CakePHP发送电子邮件,我收到错误:SMTP server did not accept the password
,以及收件箱中的电子邮件说:sign-in attempt blocked! , we recently blocked a sign-in attempt to your Google Account
。
这是正常的吗?
我正在使用Xampp。
function sendActivationEmail($user_id)
{
Debugger::dump($user_id);
$user = $this->User->findById($user_id);
if ($user==false)
{
debug(__METHOD__." failed to retrieve User data for user.id: {$user_id}");
return false;
}
$this->set('username', $this->data['User']['username']);
$this->Email->to = $user['User']['email'];
$this->Email->subject = env('SERVER_NAME').'- Please confirm your email address';
$this->Email->from = 'laurent@gmail.com';
$this->Email->template = 'account_verification';
$this->Email->delivery = 'smtp';
$this->Email->smtpOptions = array(
'port'=>'465',
'timeout'=>'30',
'host' => 'ssl://smtp.gmail.com',
'username'=>'laurent@gmail.com',
'password'=>1234567
);
$this->Email->sendAs = 'text';
return $this->Email->send();
}
答案 0 :(得分:25)
您需要允许"安全性较低"您的Google帐户设置中的应用:
https://www.google.com/settings/security/lesssecureapps
同时查看此公告http://googleonlinesecurity.blogspot.de/2014/04/new-security-measures-will-affect-older.html
您应该实施OAuth2而不是削弱安全性。
答案 1 :(得分:9)
确保'用户名'中的字段=>和'密码' =>是认证的或有效的。我遇到了同样的问题,我所做的只是点击此链接https://accounts.google.com/b/0/DisplayUnlockCaptcha,然后点击按钮“继续”#39;。 确保您使用'用户名'登录gmail和密码'在您的代码中提供。之后,尝试再次发送电子邮件。
答案 2 :(得分:0)
我面临着同样的问题。就我而言,密码不是很安全。它包含密码中的用户名。我更改了密码,然后重试。有用。 *您可以做的另一件事是,可以使用具有强密码的其他电子邮件地址。确保验证码正确且启用的安全性较低。 *