安装
#mailxyum install mailx -y
编辑 /etc/mail.rc 文件内容,追加以下内容(请替换其中的登录用户和密码值):
set from=xx@xxx.com
set smtp="smtps://smtp.exmail.qq.com:465" #这是重点
set smtp-auth-user="xx@xxx.com"
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 "发件人名称 邮件标题" mailname@163.com < message.txt
cat message | mailx -s "发件人名称 邮件标题" mailname@163.com
echo "mail test message" | mailx -v -s " title" mailnamexxx3@163.com
也可以直接从命令行输入邮件内容:
mailx -s "发件人名称 邮件标题" mailname@163.com ##输入完后回车按Ctrl+D提交发送
多个收件人之间用逗号分隔:
cat message | mailx -s "发件人名称 邮件标题" mail1@163.com, mail2@163.com, mail3@163.com
一个问题:
使用上面的配置,邮件是完全能够发出去的,但是发送邮件的时候会提示 “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
注意 :配置了证书没起效
原文地址:http://blog.51cto.com/wangqh/2088896