【问题标题】:imap php not workingimap php不工作
【发布时间】:2018-07-25 09:13:43
【问题描述】:

我试图在我的服务器上运行imap_open(),但它给了我这个错误。

警告:imap_open():无法在第 55 行的 /home/bestinsaudi2/public_html/mailbox.php 中打开流 {imap.gmail.com:993/imap/ssl}INBOX 无法连接到 Gmail:无法对​​ IMAP 服务器进行身份验证:[ALERT] 请通过网络浏览器登录:https://support.google.com/mail/acco

我在我使用的 gmail 帐户中启用了 imap。我还启用了不太安全的应用程序。我从 david walsh 复制了代码。他的凭据给出了这个错误。

警告:imap_open():无法在第 55 行的 /home/bestinsaudi2/public_html/mailbox.php 中打开流 {imap.gmail.com:993/imap/ssl}INBOX 无法连接到 Gmail:无法对​​ IMAP 服务器进行身份验证:[AUTHENTICATIONFAILED] 凭据无效(失败)

我正在用我自己的凭据写下我正在使用的代码。

$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'myemail@gmail.com';
$password = 'mypassword';

$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());

还有一件事我没有使用 wamp 或 xamp 服务器,我使用的是 ipower。我发现在某个地方运行像$ composer require secit-pl/imap-bundle 这样的命令 它令人困惑。如何以及在哪里运行它,我的代码是否有必要?我还必须为此下载任何库吗?还是应该采取一些额外的步骤?

【问题讨论】:

  • 第二个错误是告诉你你的用户名和密码无效,仅此而已。
  • 是的,但我的第一个错误是我自己的 gmail 帐户。
  • 如果您输入正确的用户名和密码值,它应该可以正常工作
  • 您是否在 gmail 设置中启用了 IMAP?
  • 我想知道他们是否有任何可用的测试 gmail 帐户,因为我想测试这个功能。所以他们可能是我的电子邮件有问题。我尝试了许多其他电子邮件,但仍然出现同样的错误。

标签: php email gmail-imap serve


【解决方案1】:

如果启用了安全性较低的应用,并且应用密码无效或不需要,则可能是 google 发现您的 imap 使用的 IP 地址可疑并阻止了它。

从浏览器登录该帐户,并检查主题为“关键安全警报”的电子邮件。电子邮件上的日期应该与 imap 停止工作的时间差不多。如果您找到这样的电子邮件,它应该说明登录尝试已被阻止,并有一个大按钮显示“检查活动”。当您单击该按钮时,它会询问它阻止的登录是否真的来自您。表明它是,并且您应该能够从该 IP 再次使用 imap 登录。

如果您或其他人已经表明它曾经是或不是他们,则可以选择更改您的答案。

当 google 决定这样做时,它只发送一封电子邮件。因此,如果过了几天,那封电子邮件可能会被埋在收件箱中。对于从该 IP 进行的每个被阻止的登录,它都不会重新发送。

【讨论】:

    【解决方案2】:

    您可能正在寻找名为“不太安全的应用程序”的 gmail 设置: https://support.google.com/accounts/answer/6010255?hl=en

    这就是为什么它要求您使用浏览器登录。

    在您正确设置并启用安全性较低的应用后,这应该可以正常工作,只需使用我自己的帐户进行检查即可。

    编辑:是否已启用安全应用程序,您可能需要创建应用程序密码: https://support.google.com/mail/answer/185833?hl=en 并将您的凭据更改为:

    $hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
    $username = 'email@gmail.com';
    $password = 'app password here, not your gmail password';
    

    EDIT2:应用密码功能需要启用两步验证

    【讨论】:

    • 请再次阅读 OP 的问题:“我还启用了不太安全的应用程序”
    • 阅读问题:I also enabled less secure apps
    • 是的,我去了他们的网站,您正在寻找的设置不适用于您的帐户。
    • 您必须启用两步验证才能使用应用密码。尝试先设置它。如果这不起作用,则可能是有人为您的公司帐户禁用了该功能。见support.google.com/a/answer/6260879?hl=en
    • 我发布的链接是关于设置 admin.google.com,它与托管没有任何关系。但如果您需要我可以尽我所能提供帮助,请随时在 Skype 上找到我。
    猜你喜欢
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 2017-04-05
    • 2017-04-04
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多