织梦系统dedecms设置腾讯企业邮箱Trying to smtp.qq.com:465 报错Error: Remote host returned怎么解决?
在做邮件发送的时候遇到了一个问题,就是:
Trying to smtp.qq.com:465 Error: Remote host returned “” Error: Cannot connenct to relay host smtp.qq.com Error: (0) Error: Cannot send email to pooy@pooy.net
这个问题是说链接不到邮件服务器。我首先是按照腾讯的企业邮箱来做配置的。
dedecms配置腾讯企业邮箱
在后台,系统基本参数-》核心设置 里面设置如下:
dedecms配置腾讯企业邮箱2
然后在后台参考/user/reg_new.php这个注册程序,写了一个test脚本:
$to = "pooy@pooy.net";
$userhash = md5($cfg_cookie_encode.'--'.$mid.'--'.$email);
$url = $cfg_basehost.(empty($cfg_cmspath) ? '/' : $cfg_cmspath)."/member/index_do.php?fmdo=checkMail&mid={$mid}&userhash={$userhash}&do=1";
$url = preg_replace("#http:\/\/#i", '', $url);
$url = 'http://'.preg_replace("#\/\/#", '/', $url);
$mailtitle = "{$cfg_webname}--会员邮件验证通知";
$mailbody = '';
$mailbody .= "尊敬的用户[{$uname}],您好:\r\n";
$mailbody .= "欢迎注册成为[{$cfg_webname}]的会员。\r\n";
$mailbody .= "要通过注册,还必须进行最后一步操作,请点击或复制下面链接到地址栏访问这地址:\r\n\r\n";
$mailbody .= "{$url}\r\n\r\n";
$mailbody .= "Power by pooy!\r\n";
$headers = "From: ".$cfg_adminemail."\r\nReply-To: ".$cfg_adminemail;
if($cfg_sendmail_bysmtp == 'Y' && !empty($cfg_smtp_server))
{
$mailtype = 'TXT';
require_once(DEDEMINC.'/mail.class.php');
$smtp = new smtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
$smtp->debug = true;
$smtp->sendmail($to,$cfg_webname,$cfg_smtp_usermail, $mailtitle, $mailbody, $mailtype);
}else{
@mail($to, $webname, $subject, $headers);
}
上面这段代码,里面利用了2中发送邮件的方式,种是利用/include/mail.class.php这个类来发送,第二种是利用系统的邮件系统发送。
执行之后,就开始报错:
Trying to smtp.qq.com:465 Error: Remote host returned “” Error: Cannot connenct to relay host smtp.qq.com Error: (0) Error: Cannot send email to pooy@pooy.net
然后使用:
@mail($to, $webname, $subject, $headers);
发现可以正常发送,只是有丁点慢。不过还能接受。然后就开始调试,1个小时无果,然后就打开foxmail添加该企业邮箱,发现了一个问题:
dedecms配置腾讯企业邮箱3
如果仔细查看,会发现foxmail默认导入的时候是使用的是:
服务器:smtp.qq.com
端口 :25
而不是企业邮箱里面提示的:
接收服务器: pop.exmail.qq.com(使用SSL,端口号995) 发送服务器: smtp.exmail.qq.com(使用SSL,端口号465) 我无语了,既然465端口有误,为什么还要提示我使用这个呢?修改之后再去执行那个测试脚本,一切正常! 邮件来了~
dedecms配置腾讯企业邮箱4
所有出现Trying to smtp.qq.com:465 Error: Remote host returned 这个问题的时候,首先检查这个端口是否能用吧。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/114881.html<