我正在开发一个连接到 IMAP 邮箱并获取电子邮件作为其功能一部分的 Web 应用程序。
该应用程序是 PHP,我的连接方式如下:
public function connect()
{
/* connect to gmail */
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = $this->username;
$password = $this->password;
/* try to connect */
$this->inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
}
在我的 Mac 上进行本地开发没有问题,我能够连接并接收电子邮件。但是,现在我已将应用程序放在我的网络主机服务器上,我收到以下错误:
Cannot connect to Gmail: Can't connect to gmail-imap.l.google.com,993: Connection timed out
在与我的托管服务提供商核实后,他们告诉我端口 993 上的传出连接已被阻止。有什么办法可以解决这个问题吗?否则我需要升级到专用服务器 :S
答案1
您将需要升级,或者询问您的主机是否可以打开该端口。
您实际上自己给出了答案 - 端口是 993,据我所知没有办法绕过它。
答案2
端口封锁是无法绕过的。与其升级到专用服务器,不如直接转到不封锁端口的托管服务提供商,或者看看 POP3(比 SSL 更可取)是否可行。安全性不会降低,而且编码起来更容易。