使用PHP连接到Gmail

时间:2012-05-22 03:11:47

标签: php web-services email port imap

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

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

然而,在此代码的许多变体之后,这并没有起作用,我与我的网络托管公司(Bluehost)进行了交谈,并被告知该错误是由于其服务器上的防火墙造成的。获取专用IP地址将允许我访问端口993,但由于防火墙,仍然无法检索Gmail。

有没有人知道:

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

- 我可以使用哪些网络托管服务,允许我在外部服务器(如Gmail)上访问电子邮件

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

我认为你一直在搜索谷歌的出色帮助?

我只能说我使用Hostony.com并且它们很便宜,提供了很棒的功能,并且可能是我收到的最好的技术支持。

也许您可以接近他们的技术支持并说“如果您可以告诉您的服务可以做到这一点以及如何做到这一点,那么我会切换到您”。询问所有潜在主持人。

答案 2 :(得分:0)

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

  
    

对于那些遇到Gmail问题的人(我的问题是:网络服务器上的“登录失败次数过多”,但本地主机没有问题..),而不是     开场时间:

  
     

$ inbox = imap_open($ hostname,$ username,$ password,NULL,1)或   死('无法连接到Gmail:'。imap_last_error());

     

使用:

     

$ inbox = imap_open($ hostname,$ username,$ password,NULL,1)或   死('无法连接到Gmail:'。print_r(imap_errors()));

     

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

     

干杯,PH

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

编辑:

找到这个主题:http://osticket.com/forums/showthread.php?t=2597 qouting其中一个帖子:

  

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

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

答案 3 :(得分:0)

我复制并粘贴了您的第一个代码,并且打开了邮箱"无法打开邮箱"错误。我删除了最终/最后使其成为" {imap.gmail.com:993/imap/ssl}" ...现在它有效。我喜欢这些简单的错误(虽然我不认为这是一个错误,可能是imap_open函数中的一个错误......他们忘了在最后检查的东西)你砰然一声小时!希望它对你有用,如果你仍然需要它或其他需要它的人!