mailx使用ssl方式发送邮件

同事再配置zabbix配置的时候需要发送邮件,由于公司邮件服务器是基于ssl的配置,因此需要配置下。

非SSL的配置方法:

    set from="330145635@163.com" # 设置发送邮箱
    set smtp=smtp.163.com  # 设置邮件服务器(注意端口)
    set smtp-auth-user="330145635@163.com"  #设置邮件用户登录账号
    set smtp-auth-password="zqtxbekwabqibjhf" #设置密码,注意这里的密码是客户端授权密码,非用户登录密码。
    set smtp-auth=login #
    

SSL的配置方法

    set from="330XXXX35@qq.com"
    set smtp=smtp.qq.com # 设置邮件服务器(注意端口)QQ邮箱这样写即可
    set smtp-auth-user="330XXXX35@qq.com"  #设置邮件用户登录账号
    set smtp-auth-password="zqtxbekwabqibjhf" 授权码
    set smtp-auth=login
    #set smtp-use-starttls=yes #QQ邮箱中,加上后,会报错,但是邮件可以正常发送
    set ssl-verify=ignore #认证方式
    set nss-config-dir=/root/.certs  #证书地址
    

关键是证书的处理:需要用OpenSSL手动生产证书

    mkdir -p /root/.certs/
    echo -n | openssl s_client -connect smtp.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

为了防止出现前文所说的发送邮件警告提示,还需要进入邮箱 SSL 证书存放目录 /root/.certs 里执行如下命令

    certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i qq.crt
    

进过测试没有问题。

Lokie博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论
  • 本博客使用免费开源的 laravel-bjyblog v5.5.1.1 搭建 © 2014-2018 lokie.wang 版权所有 ICP证:沪ICP备18016993号
  • 联系邮箱:kitche1985@hotmail.com