【问题标题】:IMAP works on my localmachine but not on shared hostingIMAP 适用于我的本地计算机,但不适用于共享主机
【发布时间】:2016-01-28 23:01:24
【问题描述】:

我正在通过 imap 连接到一个电子邮件帐户:

$hostname = "{imap.zoho.com:993/imap/ssl/novalidate-cert}";
$imap = imap_open($hostname, 'email', 'password');

它在我的本地计算机上的 XAMP 上运行得非常好,但是当我从我的共享主机帐户 (host-ed.net) 运行它时,我收到以下错误:

警告:imap_open():无法打开流 {imap.zoho.com:993/imap/ssl/novalidate-cert} 在 /home/****/public_html/testmail.php 在第 4 行

警告:imap_num_msg() 期望参数 1 是资源,布尔值 在第 5 行的 /home/****/public_html/testmail.php 中给出

警告:imap_close() 期望参数 1 是资源,布尔值 在第 27 行的 /home/****/public_html/testmail.php 中给出

知道我的托管服务提供商可能是什么问题导致了这种情况吗?

编辑...

添加了 imap_errors 并得到这个(超时):

map_errors(): Array ([0] => 无法连接到 imap.zoho.com,993: 连接超时)

【问题讨论】:

  • 你试过返回imap_errors吗?即使上面写着Warning: imap_open(): ...,也有人建议here
  • 联系托管公司。他们可能有出站防火墙,阻止了连接。如果您在共享主机上有 shell 访问权限,您可以尝试使用 telnet 打开一个端口,例如 telnet imap.zoho.com 993
  • 测试是否可以连接到服务器:openssl s_client -connect imap.zoho.com:993。
  • 谢谢,我已经联系了托管服务提供商,他们已经解决了。我认为他们可能一直在阻塞端口 993

标签: php email ssl imap shared-hosting


【解决方案1】:

你可以试试这个:

imap_open("{imap.mail.eu-west-1.awsapps.com:993/imap/ssl}INBOX", "EMAIL", "PASS");

这是为 AWS WorkMail 编写的。您可以查看此文档: http://php.net/manual/en/ref.imap.php

这就是你所需要的。

【讨论】:

    猜你喜欢
    • 2019-07-29
    • 1970-01-01
    • 2020-02-10
    • 2012-07-31
    • 1970-01-01
    • 2016-01-14
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多