我使用 php imap 函数连接并从 Gmail 帐户获取电子邮件,它工作正常,但现在,由于他们更新的政策,即使登录凭据正确,我也会收到以下错误
PHP Warning: imap_open(): Couldn't open stream {imap.gmail.com:993/ssl/novalidate-cert}[Gmail]/All Mail in PHP Notice: Unknown: Retrying PLAIN authentication after [AUTHENTICATIONFAILED] Invalid credentials (Failure) (errflg=1) in Unknown on line 0
我认为这是因为他们更新了政策。有什么办法可以做到这一点吗?
这些是连接到帐户的当前代码
$hostname = '{imap.gmail.com:993/ssl/novalidate-cert}[Gmail]/All Mail'; $imap = imap_open($hostname, $username, $password); $emails = imap_search($imap, 'ALL'); if($emails) echo count($emails);
无法使用两步身份验证的应用程序需要使用应用程序密码(而不是默认帐户密码)登录 Gmail。
有关在 Gmail 帐户中设置应用程序密码的详细信息,请访问 https://support.google.com/accounts/answer/185833?sjid=6399608693125087466-EU 和其他地方。