服务器发送邮件出现Could not connect to SMTP host错误 解决办法 [转]
首页 > IT > Windows   作者:eehello  2014年6月17日 15:13 星期二  浏览:6062  字号:   评论:0 条
时间:2014-6-17 15:13   浏览:6062  评论:0 条 

前些天突然发现我的博客的邮件回复插件失效了,查了后台的发送记录后发现一大堆的错误

2011-03-31 22:47:45 开始发送!向博主i@dao-gu.com发信: i@dao-gu.comMailer Error: smtp Error: Could not connect to smtp host.发送失败!

这样的错误,我一开始以为是后台设置问题,改了smtp的地址,也无效,对于任何的smtp地址都是Could not connect to smtp host. 恼火 了好几天,今天静下心来好好的研究了一番,经过一番的百度google,试了N种方法都无计于事,所以就向服务器商提交了技术问题,技术人员很热心的检查了服务器设置,说他们能顺利发送邮件,可是我还是不能发送!~

功夫不负有心人,最后了解到,除了google的smtp服务器收到请求“smtp”会接受,其他服务器比如qq 163什么的必须要收到“smtp”请求(大写),郁闷呀!

解决办法:

在 class.phpmailer.php 中,将

function IsSMTP() {

$this->Mailer = 'smtp';

}

改成:

function IsSMTP() {

$this->Mailer = 'SMTP';

}

再次测试,终于看到了熟悉的面孔,  QQ右下角提示 收到新邮件!问题解决!舒心呀!

后来我发现并不是因为修改了smtp为SMTP之后却能够发送邮件,这个并不是因为有些邮件服务器不能接受smtp的原因,而是并不是使用了smtp来发送邮件,PHPmailer里有一个判断的函数,
public function IsSMTP() {
$this->Mailer = 'SMTP';
}

switch($this->Mailer) {
case 'sendmail':
return $this->SendmailSend($header, $body);
case 'smtp'://由于SMTP和smtp不相等 所以选择的是下面MailSend发送邮件 并不是使用smtp发送邮件
return $this->SmtpSend($header, $body);
default:
return $this->MailSend($header, $body);

 您阅读这篇文章共花了: 
二维码加载中...
本文作者:eehello      文章标题: 服务器发送邮件出现Could not connect to SMTP host错误 解决办法 [转]
本文地址:https://www.eehello.com/?post=35
版权声明:若无注明,本文皆为“点滴记忆---观雨亭”原创,转载请保留文章出处。

返回顶部| 首页| 手气不错| 留言板|后花园

Copyright © 2014-2023 点滴记忆---观雨亭