使用阿里云的Linux服务器发送邮件,亲测有效

  1. 简介
    由于阿里云服务器关闭了25端口,而且官方不允许打开该端口,而且大部分邮件都是通过25端口,我以网易126邮箱为例,使用SSL下的465端口测试
  2. 添加请求数字证书
    依次完成以下命令
    【以下命令适合126邮箱,如果是163邮箱,请把脚本内容的126替换为163即可】
mkdir -p /root/.certs/                           ####创建目录,用来存放证书
echo -n | openssl s_client -connect smtp.126.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/126.crt                    ####向126请求证书
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt                  ####添加一个SSL证书到证书数据库中
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/126.crt               ####添加一个Global 证书到证书数据库中
certutil -L -d /root/.certs                         ####列出目录下证书
  1. 配置发件人
    输入命令: vi /etc/mail.rc
    按如下图配置完成
    在这里插入图片描述
  2. 测试
    echo “Test” | mail -s “title” xxxxxxx@qq.com
    登陆收件人邮箱查看
    看似成功但是linux中报错:证书不被信任
    在这里插入图片描述
  3. 解决最后一个问题-----证书不被信任
    按以下命令依次输入
	cd /root/.certs/
	ll
	certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 126.crt 

【成功标志】:
在这里插入图片描述
6. 最后测试

	echo “test” | mail -s “title”  XXXXXXX@qq.com

发送成功截图:
在这里插入图片描述

  1. 存在的坑
    7.1 mailx 发送邮件出现的 “Unexpected EOF on SMTP connection” 问题
    解决办法
    进入到 vi /etc/mail.rc,修改配置文件:
    set smtp=smtps://smtp.126.com:465
    而不是:set smtp=smtp.126.com:465,网上很多人是这样写的,会提示报错
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

slb190623

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值