CentOS7 配置Mailx使用SMTP发送邮件
安装
yum -y install mailx
配置
vi /etc/mail.rc
#126不支持STARTTLS,使用465端口
account 126 {
set smtp=smtps://smtp.126.com:465
set smtp-auth=login
set smtp-auth-user=user@126.com
#注意这里的password是开通smtp时的授权码,不是平时登录邮箱的密码
set smtp-auth-password=password
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
set from=password@126.com
}
#QQ邮箱支持STARTTLS,使用587端口
account qq {
set smtp=smtp://smtp.qq.com:587
set smtp-auth=login
set smtp-auth-user=user@qq.com
set smtp-auth-password=password
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
set from="user@qq.com"
set smtp-use-starttls=yes
}
获取邮件服务器证书:
465端口
echo -n "" | openssl s_client -connect smtp.126.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/pki/nssdb/smtp_126_com.crt
# 587端口
echo -n | openssl s_client -starttls smtp -connect smtp.qq.com:587 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /etc/pki/nssdb/smtp_qq_com.crt
SSL连接需要NSS根证书库(cert8.db,key3.db,secmod.db,分别是证书,公钥,私钥),一般保存在/etc/pki/nssdb
如果没有,可下载:nss_tar_gz.rar。
将证书添加到受信任列表
certutil -A -n 'GeoTrust SSL CA' -t "P,P,P" -d /etc/pki/nssdb -i/etc/pki/nssdb/smtp.126.com.crt
发送测试:
配置好后,使用mail命令发送邮件:
echo '邮件内容' | mail -s '邮件标题' 收件人邮箱
#或者:
cat 邮件内容.txt | mail -s '邮件标题' 收件人邮箱
#或者
mail -s '邮件标题' 收件人邮箱 < 邮件内容.txt
评论已关闭