在CentOS 7系统里使用465端口发送邮件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CentOS 7系统里使用465端口发送邮件相关的知识,希望对你有一定的参考价值。
安装
#mailxyum install mailx -y
编辑 /etc/mail.rc 文件内容,追加以下内容(请替换其中的登录用户和密码值):
set smtp="smtps://smtp.exmail.qq.com:465" #这是重点
set smtp-auth-user="[email protected]"
set smtp-auth-password="xxxx"
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
配置证书(注意:上面配置的nss-config-dir就是存放证书的路径,可自定义
发送测试邮件
# echo "测试邮件"|mailx -v -s "标题" 123@456.com
4、使用mailx发送邮件
-s subject 邮件标题
-a file 添加附件
-v 显示邮件发送详细过程
-V 显示mail(mailx)版本信息
邮件内容可来源于管道、输入重定向等,例如:
mailx -s "发件人名称 邮件标题" [email protected] < message.txt
cat message | mailx -s "发件人名称 邮件标题" [email protected]
echo "mail test message" | mailx -v -s " title" [email protected]
也可以直接从命令行输入邮件内容:
mailx -s "发件人名称 邮件标题" [email protected] ##输入完后回车按Ctrl+D提交发送
多个收件人之间用逗号分隔:
cat message | mailx -s "发件人名称 邮件标题" [email protected], [email protected], [email protected]
一个问题:
使用上面的配置,邮件是完全能够发出去的,但是发送邮件的时候会提示 “Error in certificate: Peer’s certificate issuer is not recognized.”提示,运行以下命令生成一个证书即可。
# mkdir -p /root/.certs/
# cd /root/.certs/
获取证书:
# echo -n | openssl s_client -connect smtp.exmail.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
导入证书:
# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
检查证书:
# certutil -L -d /root/.certs
修改配置
set nss-config-dir=/root/.certs
注意 :配置了证书没起效
以上是关于在CentOS 7系统里使用465端口发送邮件的主要内容,如果未能解决你的问题,请参考以下文章
CentOS7.x 通过mail命令发,使用465端口(smtps协议)发送邮件