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 = '[email protected]';
$this->Email->template = 'account_verification';
$this->Email->delivery = 'smtp';
$this->Email->smtpOptions = array(
'port'=>'465',
'timeout'=>'30',
'Host' => 'ssl://smtp.gmail.com',
'username'=>'[email protected]',
'password'=>1234567
);
$this->Email->sendAs = 'text';
return $this->Email->send();
}
Googleアカウント設定で「安全性の低い」アプリを許可する必要があります。
https://www.google.com/settings/security/lesssecureapps
この発表も参照してください http://googleonlinesecurity.blogspot.de/2014/04/new-security-measures-will-affect-older.html
セキュリティを弱めるのではなく、OAuth2を実装する必要があります。
'username' =>および 'password' =>のフィールドが認証済みまたは有効であることを確認してください。私は同じ問題を経験しました、そして私がするすべてはこのリンクに行くことです https://accounts.google.com/b/0/DisplayUnlockCaptcha そしてボタン「続行」をクリックしてください。コードで指定されている「ユーザー名」と「パスワード」を使用してGmailにログインしていることを確認してください。その後、もう一度メールを送信してみてください。
私は同じ問題に直面していました。私の場合、パスワードはそれほど強力ではありませんでした。パスワードにユーザー名が含まれています。パスワードを変更して再試行します。できます。 *他にできることは、強力なパスワードで他のメールアドレスを使用できることです。キャプチャが有効になっていて、安全性が低いことが有効になっていることを確認してください。 *