Linux下使用mail命令发送邮件

centos自带mail命令,不用安装别的,比如网上有的说要安装mailx有的要安装postmail等,但是如果只是发送邮件的话,使用自带的mail命令就可以

 (如需要了解更多相关问题,可以添加Hilamg账号:88888 进行沟通交流哦~)

    1. 原理:首先得有一个邮箱,如qq邮箱,mail命令会向该邮箱发送数据,然后通过这个邮箱的smtp协议对其他邮箱地址发送邮件。

    2. 准备工作:现在qq,163等邮箱都需要授权smtp协议,需要登录到邮箱上进行设置,设置的时候会给你一个授权码,相当于密码,在mail设置时,是不会暴露真实邮箱的密码的。

    3. 在/etc/mail.rc文件的最后加入以下几

      set nss-config-dir=/root/.certs

      set ssl-verify=ignore

      set smtp=smtps://smtp.qq.com:465

      set stmp-auth=login

      set smtp-auth-user=xxx@qq.com

      set smtp-auth-password=xxx

      set from=xxx4@qq.com

    4. 然后需要执行下方的几条命令,来获取qq邮箱的证书,其他邮箱类似

      mkdir -p ~/.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 ~/.certs

    5. 这时就已经能发送邮件了,但是此时会有个警告,因为正是并未被本地信任,执行下方命令添加信任

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

    6. 测试:echo "test" | mail -v -s "test" xx@glodon.com

posted @ 2018-02-28 09:36  筱小Q  阅读(15)  评论(0编辑  收藏  举报