阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux安装mailx配置SMTP发送邮件

283次阅读
没有评论

共计 1419 个字符,预计需要花费 4 分钟才能阅读完成。




mail 命令是 Linux 环境下电子邮件发送和接收工具,默认情况下 mail 会调用 sendmail 发信,但 sendmail 很容易被视作垃圾邮件。推荐使用 STMP 服务替代 sendmail 发信,这样更加稳定。

安装 mail

默认情况下可能并未内置 mail 命令,直接输入下面的命令安装:

#CentOS
yum install -y mailx
#Debian or Ubuntu(未测试)apt-get -y install mailx

配置 STMP

不修改任何配置的情况下 mail 命令会调用系统内置 sendmail 发信,以下使用 SMTP 服务替代 sendmail

# 修改配置文件
vi /etc/mail.rc
#在末尾追加如下内容并保存
set from=service@xiaoz.me
set smtp=smtp.exmail.qq.com
set smtp-auth-user=service@xiaoz.me
set smtp-auth-password=35******3N
set smtp-auth=login
  • set from:设置发件人
  • set smtp:设置外部 STMP 服务器
  • set smtp-auth-user:设置 STMP 用户名(一般为完整邮箱地址)
  • set smtp-auth-password:设置 SMTP 密码

发信测试

echo "this is my test mail" | mail -s 'mail test' xxx@qq.com
#或者
mail -s 'mail test' xxx@qq.com 

使用 SSL/TLS

上述配置邮件内容是明文方式,存在安全隐患,再加上 Gmail/Zoho 等邮箱强制要求使用 SSL/TLS 加密,为了提高安全性推荐发送邮件的时候使用 SSL 或 TLS,请继续往下看。

先找到本地 nssdb 证书路径,输入下面的命令:

[root@ultravps ~]# find / -name "cert*.db"
/etc/pki/nssdb/cert8.db
/etc/pki/nssdb/cert9.db

修改 mail 配置文件,并使用 SSL 加密:

# 修改配置文件
vi /etc/mail.rc
#末尾追加如下内容
set from=service@xiaoz.org
set smtp=smtps://smtp.zoho.com:465
set nss-config-dir=/etc/pki/nssdb/
set ssl-verify=ignore
set smtp-auth-user=service@xiaoz.org
set smtp-auth-password=htH*****T8
set smtp-auth=login
  • set nss-config-dir:指定本地证书路径
  • set smtp=smtps://smtp.zoho.com:465 设置 SMTP 地址及端口,注意 smtps 说明启用了 SSL 加密
  • set ssl-verify:忽略证书错误

如果您想启用 TLS 加密,追加一行内容,并设置正确的 TLS 端口,如下:

# 设置正确的地址及端口,注意这次是 smtp 不是 smtps
set smtp=smtp://smtp.zoho.com:587
#追加一行,启用 TLS
set smtp-use-starttls=yes

总结

mail 命令配置外部 SMTP 邮件服务,可以帮助 shell 自动化的时候实现任务通知,到达率也比自带 sendmail 高很多。

此文部分内容参考与:
centos 7 配置 mailx 发送 zoho mail 邮件
Mailx and Gmail nss config dir

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1419字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中