-1

我正在尝试通过 PHP 访问我的 Gmail 帐户。我试过这样的代码:

$mbox = imap_open("{imap.gmail.com:993/imap/ssl/}", "my email", "my password");

然而,在对这段代码进行了多次修改后,这不起作用,我与我的网络托管公司 (Bluehost) 进行了交谈,并被告知错误是由于他们的服务器上的防火墙造成的。获得专用 IP 地址将允许我访问端口 993,但由于防火墙,仍然无法检索 Gmail。

有谁知道:

-如何使用这些防火墙设置访问 Gmail,或者

- 我可以使用什么网络托管服务,让我可以访问外部服务器(如 Gmail)上的电子邮件

4

4 回答 4

2

如果 imap_last_error() 返回“登录失败次数过多”错误,请转到https://www.google.com/settings/security/lesssecureapps 并选择“打开”选项。

于 2015-07-29T18:14:26.743 回答
1

而BlueHost 只是说“不能”?没有进一步的帮助?DTMFA!

我想你彻底搜索了谷歌的优秀帮助?

我只能说我使用Hostony.com,它们价格便宜,功能强大,并且可能拥有我收到过的最好的技术支持。

也许你可以联系他们的技术支持并说“如果你能告诉你的服务可以做到这一点以及如何做到这一点,那么我会转向你”。询问所有潜在的主人。

于 2012-05-22T03:17:28.223 回答
0

引用自:http://php.net/manual/en/function.imap-open.php

对于那些有Gmail问题的人(我的问题是:网络服务器上的“登录失败太多”,但在本地主机上没有问题..),而不是打开:

$inbox = imap_open($hostname,$username,$password,NULL,1) or die('无法连接到 Gmail: ' . imap_last_error());

利用 :

$inbox = imap_open($hostname,$username,$password,NULL,1) or die('无法连接到 Gmail: ' . print_r(imap_errors()));

您将能够看到发生的错误的完整列表,并希望它能引导您找到答案。就我而言,谷歌希望我通过输入验证码来解锁我的帐户。但是这个错误并没有通过 imap_last_error() 清楚地显示出来。

干杯,PH

尝试他的建议并回复回复。

编辑:

找到此线程:http : //osticket.com/forums/showthread.php?t=2597 引用其中一篇文章:

这是您的服务器配置的问题,而不是 osTicket。您需要启用 SSL 支持。联系您的托管服务提供商或使用 ssl/imap-ssl 重新编译 PHP

所以是的,也许您的主机服务有问题。如果可以,请尝试该建议...

于 2012-05-22T03:22:20.933 回答
0

我复制并粘贴了您的第一个代码并收到“无法打开邮箱”错误。我删除了最后的 / 使其成为“{imap.gmail.com:993/imap/ssl}”......现在它可以工作了。一定要喜欢简单的错误(尽管我不认为这是一个错误,可能是 imap_open 函数中的错误......他们最后忘记检查的东西)你把头撞了好几个小时!如果您仍然需要它或其他需要它的人,希望它对您有用!

于 2014-01-20T18:12:30.940 回答