使用 PHP 和 IMAP 检查 POP3 "syntax error"

Using PHP with IMAP to check POP3 "syntax error"

我正在尝试连接到由我的网站托管商托管的 pop3 电子邮件帐户。我的网站是共享主机。我用 windows 实时检查我的电子邮件的电子邮件主机是 mail.mysite.com 端口 110,它工作正常。

使用 php 和 imap 我没有任何运气。我确实检查过,我的主机确实安装了 IMAP。在那之后我和它战斗了几个小时,并了解到当 imap_open 失败时它会再尝试 3 次只是为了好玩。当我开始使用 imap_last_error() 作为我的错误检查器时,它告诉我 Cannot connect to Mail: Too many login failures 一旦我弄清楚发生了什么,很快就可以弄清楚如何得到其余的错误,然后如何转向它关闭所以它不会重试。

现在我得到 syntax error 我已经尝试了几十种不同的主机名变体。下面我包括 4 个,这样人们就可以看到我尝试过的一些更明智的事情和结果。

由于我对此完全陌生,所以对于经验丰富的人来说,我可能会遗漏一些明显的东西。我也愿意接受其他方法来解决这个问题。我只想能够使用 php 脚本打开和阅读特定帐户的电子邮件。我对哪个或什么样的界面不挑剔。我一直在尝试 IMAP,因为它是我找到的唯一一个。

//$hostname   = '{mail.mysite.com:110}INBOX'; //array(1) { [0]=> string(49) "[CLOSED] IMAP connection broken (server response)" }
//$hostname   = '{mail.mysite.com:110/pop3}INBOX'; //array(1) { [0]=> string(142) "Certificate failure for mail.mysite.com: Server name does not match certificate: /OU=Domain Control Validated/CN=*.websitesource.net" }
$hostname   = "{mail.mysite.com:110/pop3/novalidate-cert}INBOX"; //array(1) { [0]=> string(12) "syntax error" }
//$hostname   = '{mail.websitesource.net:110/pop3}INBOX'; //array(1) { [0]=> string(12) "syntax error" }

//A temp account for testing
$user       = 'a@mysite.com';
$password       = '12345678!';

/* try to connect */
$inbox = imap_open($hostname,$username,$password,0,0) or die( var_dump(imap_errors ()) );

 //see errors at top of code, current error 'syntax error'

好吧,我觉得很傻。 $username$user 不同。当我开始使用各种脚本时,我不知道证书问题(不同的主机),并且毫无疑问,我复制了一个测试脚本的一部分和另一个测试脚本的一部分,并弄出了一个被早期错误隐藏的简单错误。

您使用了错误的变量。将 $username 替换为 $user

$inbox = imap_open($hostname,$user,$password,0,0) or die( var_dump(imap_errors ()) );