网站使用了cdn之后,腾讯企业邮箱无法通过phpmailer发送邮件。

<?php
header("content-type:text/html;charset=utf-8");
require_once './email.class.php';
$name = "iojdsfajijd";
$mobile = "13344448888";

if (!empty($name) && !empty($mobile)){
    $smtpserver = "smtp.exmail.qq.com";
    $smtpserverport = 25;
    $smtpusermail = "om@xxx.com";
    $smtpmailtos = array("xxx@qq.com");
    $smtpuser = "om@xxx.com";
    $smtppass = "mypassword";
    $mailsubject = "来源网页:".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    $mailbody = '';
    $br="\r\n";
    $mailbody .= "姓名:".$name.$br;
    $mailbody .= "电话:".$mobile.$br;
    $mailtype = "text";
    $smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);
    $smtp->debug = true;
    foreach ($smtpmailtos as $smtpmailto){
        $sendState=$smtp->sendmail($smtpmailto, $smtpusermail, $mailsubject,$mailbody,$mailtype);
    }
    // if ( $sendState==1 ){
    $list = array('name'=>$name,'tel'=>$mobile);
    $json = json_encode($list);
    echo $json;
    //}
}

CDN用百度云和加速乐都出现了这种问题。我目前是用的百度云
我的邮件发送代码如上,在没用cdn的服务器上是可以正常发送邮件的,用了cdn之后,邮件发送出现如下报错:

Cannot connenct to relay host smtp.exmail.qq.com
Connection timed out (110)
Cannot send email to xxx@qq.com

解决过的办法:
iptables 出端口全部绿灯
php版本:5.6 检查了php.ini 和 allow_url_fopen = On,disable_function 没用 fsock和fsockopen函数,请问是怎么回事呢?求解答,谢谢

一只甜甜圈
浏览 1322回答 4
4回答

慕容3067478

CDN屏蔽了25端口 直接采用465 ssl方式发 现在都建议使用ssl方式

小怪兽爱吃肉

这个和代码没有太多的关系,你首要先需要描述清楚的你的服务器架构,CDN 是如何配置的,请求 stmp 服务器的服务器是怎么样的。 另外,做邮件通知,不要用腾讯的企业邮箱啊,一天最多200封。应该用专业稳定的第三方邮件服务,比如阿里云邮件推送,sendcloud等。

慕码人8056858

发邮件跟CDN没关系,尤其是你用的第三方邮件服务器
打开App,查看更多内容
随时随地看视频慕课网APP