阿里云ECS服务器默认禁用25端口。所以我们可以使用465端口(邮件的ssl端口)来进行邮件的发送。
1.先在安全组开放465端口。此处请登录阿里云的ECS服务账号,然后到点击安全组规则=》入方向,通过手动添加方式,协议选择TCP,端口范围里添加465端口,授权对象填写0.0.0.0/0,保存即可。(此步骤最关键,否则无法正常发送邮件)
2.然后需要配置QQ邮箱的(SMTP服务的设置)或者腾讯企业邮箱地址。具体设置方法自行百度。在此不再说明。
3.在服务器上配置关闭其它的邮件工具
service sendmail stop chkconfig sendmail off 停止sendmail服务并取消开机自启 (centos6.x)
service postfix stop chkconfig postfix off 停止postfix服务并取消开机自启
4.安装mailx。(Linux下一种邮件软件)
yum install mailx -y
5.请求QQ邮箱数字证书
mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.exmail.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
cd /root/.certs
certutil -A -n "GeoTrust SSL CA – G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i qq.crt # 这里需要注意的是在执行这条命令时,所执行的路径必须是/root/.certs/ 否则将会报错
certutil -L -d /root/.certs
6.配置/etc/mail.rc
set from=afda@11.com
set smtp=smtps://smtp.exmail.qq.com:465
set smtp-auth-user=afda@11.com
set smtp-auth-password=XXXX#授权码
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs
7.发送邮件并测试是否成功
echo "this is a test mail." | mail -s "test_mail" 305839423@qq.com
收到测试邮件说明通过ECS已经可以成功发送邮件;
后续就可以通过程序来实现邮件发送啦