centos 7 配置mail.rc使用第三方SMTP发送邮件
目的:连接第三方smtp服务器去发送邮件,比如qq、新浪、网易等邮箱,只需要直接配置mail.rc文件即可实现。
本实验使用网易126邮箱。
1.先去126邮箱开通smtp服务并获得授权密码记住,后面会用到。
2.查看smtp.126.com服务器开启了那些端口,以前默认是25,现在网易停用了。
[root@danny ]# nmap smtp.126.com Starting Nmap 6.40 ( http://nmap.org ) at 2020-06-17 16:05 CST Nmap scan report for smtp.126.com (123.126.96.4) Host is up (0.014s latency). Other addresses for smtp.126.com (not scanned): 123.126.96.5 220.181.15.113 220.181.15.112 220.181.15.111 123.126.96.3 220.181.15.114 rDNS record for 123.126.96.4: mail-m964.mail.126.com Not shown: 998 filtered ports PORT STATE SERVICE 465/tcp open smtps 587/tcp open submission
或者使用nc命令扫描对应端口查看开启状态
[root@danny ]# nc -zv smtp.126.com 465 Ncat: Version 7.50 ( https://nmap.org/ncat ) Ncat: Connected to 123.126.96.5:465. Ncat: 0 bytes sent, 0 bytes received in 0.04 seconds.
可以看到开启了465和587端口(本次实验使用465),而下图可看到465端口使用的是ssl协议,所以相对mail.rc配置就需要使用ssl协议。
3.配置mail.rc
vim /etc/mail.rc set from=xxx@126.com //发件方邮箱或昵称,经过测试必须得和下面的发件邮箱一致,否则发不了邮件 set smtp=smtps://smtp.126.com:465 //注意使用的ssl协议连接 set smtp-auth-user=xxx@126.com //发件邮箱 set smtp-auth-password=xxxxxx //此处使用的就是前面生成的授权码 set stmp-auth=login set ssl-verify=ignore set nss-config-dir=/root/.certs //此处证书需要手动生成,否则会报错或者连接失败
重启服务
systemctl restart postfix.service
4.发送邮件测试
#第一种 echo "test" | mail -s 'test linux' xxx@qq.com #第二种 mailx -v -s " 主题 " xxx@qq.com < a.sh //-v可以动态显示邮件发送状态。可以把a.sh文件的内容作为邮件内容发送
关于上面证书创建
默认的证书是没有的,如果不创建相应证书,邮件发送会报错或者连接失败。
//创建证书目录 mkdir -p /root/.certs cd .certs/ //获取邮件服务器证书 echo -n "" | openssl s_client -connect smtp.126.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > 126.crt //将证书添加到受信任列表 certutil -A -n 'smtp_126' -t "P,P,P" -d . -i ./126.crt //上述命令中-A表示添加,-n是nickname,可以随意取,例如126或qq;-t表示受信任的标签,可取值是t/c/p三种或者其组合;-d表示证书所在目录,-i指示证书文件的位置。 //# 指向证书文件目录 set nss-config-dir=/root/.certs
注:
网上许多教程的-t标签都是"C,,",实践中发现使用该标签仍会报错(gmail的证书是google自己签发的,用C标签没问题,许多博主估计没试就直接抄来)。通过查阅certutil的用法,使用P标签顺利解决问题。
配置完成后,再使用mail命令发送邮件,烦人的警告消失不见。
参考文章:http://www.51testing.com/html/53/n-3727153.html
好记性不如烂笔头,最难不过坚持
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了