使用 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 ()) );
我正在尝试连接到由我的网站托管商托管的 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 ()) );