postfix 部署ssl后还是25_Linux发送外网邮件设置(含ssl协议)

Linux发送外网邮件设置(含ssl协议)

d982de7cacf15648d3c51d7ed1b947ce.png

最近工作中遇到需要监控Linux服务器内存的使用情况。然后发送邮件通知。只是个单点需求没有使用zabbix等监控工具,简单使用脚本做下监控。期间遇到由于使用的是阿里的云主机,默认25端口关闭了,所以使用了ssl协议发送邮件。整理出来供大家参考。

一、发送普通邮件

1、开机postfix邮件服务

service postfix start

2、检查是否安装mailx

rpm -qa | grep mailx
291e9906729d35758606d65c1dfeb9ab.png

3、编辑配置mail.rc配置文件

vi /etc/mail.rc

在文件末尾添加如下内容

set from=xxx@163.com #发件邮箱set smtp=smtp.163.com #发送服务器set smtp-auth-user= #账号set smtp-auth-password= #密码set smtp-auth=login #登录

此处需注意,如果是网易游戏,密码为客户端授权密码。

4、通过命令测试

echo hello word | mail -s " title" xxx@163.com

5、发送带有附件的邮件

echo “邮件正文,这是一封带有附件的邮件” | mail -a /root/anaconda-ks.cfg -s “testmail” xxx@163.com 

-s 为标题

-a 指定附件

二、使用ssl协议发送邮件。

今日遇到一个项目使用阿里云。阿里云默认禁用了25端口,我们使用ssl 465端口发送邮件

eaa20b1fa321c9d7258887f59cb12545.png

1、同样启用postfix和mailx服务。

参照上面

2、请求数字证书

echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crtcertutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crtcertutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crtcertutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i 163.crtcd /root/.certs/ #注意这块切换目录certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i 163.crtcertutil -L -d /root/.certs

3、配置mail.rc文件

vi /etc/mail.rc

在文件末尾新增

set from=xxx@163.com #发件邮箱set smtp="smtps://smtp.163.com:465" #发送服务器,根据使用的邮箱设置set smtp-auth-user= #账号set smtp-auth-password= #密码set smtp-auth=login #登录set ssl-verify=ignore #ssl认证方式set nss-config-dir=/root/.certs #证书所在目录

此处需注意,如果是网易游戏,密码为客户端授权密码。

4、验证

echo "这是使用 smtps 465端口发送的邮件" |mail -s "test465" xxx@163.com

版权声明:本文为weixin_39989215原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。