我曾经在一台内部共用的桌面电脑上成功地使用WAMPSERVER设置了一个Web应用程序,该应用程序使用PHPMailer连接到一个没有加密或身份验证的内部SMTP服务器并且运行良好。但是这台桌面电脑出现故障后,我将其迁移到了一台“新”的桌面电脑上。我有一个SVN设置,因此我甚至使用了大部分相同的文件和配置。其中可能会有所不同的是旧的桌面电脑是64位的,而新的是32位的。这意味着我正在使用不同版本的WAMPSERVER。
邮件发送器卡住了。我既没有收到PHP错误也没有超时,我只是永远无法到达我的脚本的结尾。这个疯狂的部分是它可以使用身份验证、ssl和gmail。它只是不能满足我需要的简单情况。
以下内容可以正常工作:
我从debug中得到的唯一信息是:
我可以从桌面电脑telnet到主机的25号端口,甚至输入EHLO命令并从服务器得到良好的响应。
我不记得以前有这个问题,尽管我可能已经解决过一次。我在这里或者在谷歌上找不到任何有用的信息。
请帮忙解决。谢谢。
邮件发送器卡住了。我既没有收到PHP错误也没有超时,我只是永远无法到达我的脚本的结尾。这个疯狂的部分是它可以使用身份验证、ssl和gmail。它只是不能满足我需要的简单情况。
以下内容可以正常工作:
<?php
require('class.phpmailer.php');
$mail=new PHPMailer();
$mail->ISSMTP();
$mail->Host='smtp.gmail.com';
$mail->Subject='test subj';
$mail->Body='the body email test';
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "myemail@gmail.com"; // GMAIL username
$mail->Password = "mypassword"; // GMAIL password
$mail->AddAddress('toemail@supersecret.com', 'John Doe');
$mail->SetFrom('something@gmail.com', 'First Last');
$mail->Send();
?>
这曾经可以做到,但现在不行了:
<?php
require('class.phpmailer.php');
$mail=new PHPMailer();
$mail->ISSMTP();
$mail->Host='smtp.internal.com';
$mail->Subject='test subj';
$mail->Body='the body email test';
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
$mail->Port = 25; // set the SMTP port for the GMAIL server
$mail->AddAddress('myaddress@somewhere.com', 'John Doe');
$mail->SetFrom('someaddress@mightbereal.com', 'First Last');
$mail->Send();
?>
我从debug中得到的唯一信息是:
在页面上没有显示任何错误,并且在apache日志中也没有任何内容。我通常可以在那里看到PHP错误,如果它们没有被显示。客户端 -> SMTP:EHLO thedesktophostname
我可以从桌面电脑telnet到主机的25号端口,甚至输入EHLO命令并从服务器得到良好的响应。
我不记得以前有这个问题,尽管我可能已经解决过一次。我在这里或者在谷歌上找不到任何有用的信息。
请帮忙解决。谢谢。
fsockopen()
连接到SMTP服务器,如果手动编写EHLO
行,会得到什么结果? - WrikkenEHLO
字符串后面添加"\r\n"
,然后会发生什么? - Wrikken