我正在使用一个相当简单的 php 类 emailtodb 将电子邮件导入 mysql 数据库。当我使用它检查本地服务器上的电子邮件帐户时,一切都按预期完美运行。问题是我把连接脚本放在另一台服务器上,现在它无法连接。希望总结一下我想说的:
server1.com -accessing-> myemail@server1.com = works perfect
server2.com -accessing-> myemail@server1.com = Warning: imap_open() [function.imap-open]: Couldn't open stream
这是我用来连接服务器的代码
$mysql_pconnect = mysql_pconnect($cfg["db_host"], $cfg["db_user"], $cfg["db_pass"]);
if(!$mysql_pconnect){echo "Connection Failed"; exit; }
$db = mysql_select_db($cfg["db_name"], $mysql_pconnect);
if(!$db){echo"DB Select Failed"; exit;}
$edb = new EMAIL_TO_DB();
$edb->connect('mail.MYSERVER.com', '/pop3:110/notls', $email, $pass);
$edb->do_action();
它实际上去这个函数来实际连接(我相信)
function connect($host, $port, $login, $pass){
$this->IMAP_host = $host;
$this->IMAP_login = $login;
$this->link = imap_open("{". $host . $port."}INBOX", $login, $pass);
if($this->link) {
$this->status = 'Connected';
} else {
$this->error[] = imap_last_error();
$this->status = 'Not connected';
}
}
最后我想说两台服务器之间有一个主要区别,新服务器有一个 SSL,而第一个没有,所以新的邮件连接是从 HTTPS 到 HTTP,但我不知道这是否与它有关。