当前日期时间
当前时间:
网站标志
Logo
全站搜索
广告位
phpweb图片广告
广告位
phpweb图片广告
自定内容

phpweb已经是国内最强的的开源电子商务系统了,但并非完美,因为任何...

互联网3年一轮回,京东凡客等电商品牌在三年之前也不过是小打小闹,而如...

电商已经成为趋势,传统行业的竞争已经逐渐演变到网络上,也有不少用Weboss...

phpweb系统是固定的模式,适用于大部分行业与需求。但有一些行业还是有自己...

当前位置
文章正文

阿里云ECS服务器专用网络无法发送邮件/邮件发送不出去?

发表:管理员  发表时间:2017-06-17 12:48:56   阅读:(13545)次  

有合作伙伴和渠道反映阿里云服务器ecs专用网络下,无法发送email邮件,于是我们进行了测试和寻找解决方案,网络上流传很多版本,但是没有那么详细,具体流程如下:

故障情况如下:

邮件发送请求时候,出现:Provisional headers are shown

QQ图片20170617124317.png


排查故障几个流程:

1、首先你得先看看你的阿里服务器是经典网络还是专有网络,本文章主要适合于专有网络的服务器,因为专有网络的服务器禁止了邮件发件25号端口。

2、阿里服务器专有网络,安全性比较强,默认自身设置了一层防火墙(在阿里控制管理后台中的安全组),

Centos本身又带了2层防火墙,默认iptables这个是开启的,需要自己去配置对应的开放端口(文章底部附带开放端口截图),另外selinux防火墙是需要进行关闭的(很少用到)

3、阿里ecs专有网络的服务器禁止了25号端口,那只能改用465端口来发件;

4、首先原来smtp服务器信息smtp.exmail.qq.com 改为 ssl://smtp.exmail.qq.com 也就是在原来基础上,前面增加了ssl://;

5、修改phpweb路径文件:includes/ebmail.inc.php,找到代码47行

$fp = fsockopen( $smtp, 25, &$errno, &$errstr, 20 );

将25改为465 保存,测试发送完美解决。

blob.png


附防火墙端口设置图:

blob.png


补充一下:

有用户反馈,说mail命令,无法直接发送email,命令如下:

#echo "内容"|mail -s "标题" 510551@qq.com

这个问题其实跟上面问题一样,也是得改用ssl465端口来发邮件,

需要找到 mailx的配置文件在/etc/mail.rc

在配置文件中最后面添加下面的代码(passwd写开通smtp客户端给的授权码)

set ssl-verify=ignore

set from=usernam@163.com

set smtp=smtp.163.com

set smtp-auth-user=username

set smtp-auth-password=passwd

set smtp-auth=login

set nss-config-dir=/etc/pki/nssdb/

以上添加好即可。

测试命令:#echo '内容'  | mail -v -r 'usernam@163.com' -s '标题' 510551@qq.com

因为用的是默认系统证书,可能认证不通过,但实际不影响发件,可以忽略。


草莓互联长期提供phpweb技术支持和维护,欢迎加我们QQ:595542 QQ:510551 咨询交流,希望以上文章能帮到您。

脚注信息
© 2005-2015 草莓互联(100cm.cn) 广州同福信息科技有限公司 版权所有,并保留所有权利。

广州市东莞庄一横路116号 粤ICP备11046216号-7

经营性网站备案信息 广州网络警察报警平台 不良信息举报中心  百度信誉档案 广州工商红盾网 可信网站认证