shell 脚本自动配置发送qq邮件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 脚本自动配置发送qq邮件相关的知识,希望对你有一定的参考价值。

每次在Linux下写脚本都有发送邮件的功能 ,但是在Linux 下的配置老是忘记,所以这次写了个小脚本,记录下,下次要配置时运行一下脚本就行了。这里使用的是QQ邮箱.

测试环境:CentOS 6.5 x86_64


脚本内容如下:

#!/bin/bash

. /etc/init.d/functions


if [ $# -ne 0 ];then
    echo "Usage: sh `basename $0`"
    exit 1 
fi

frommail=‘[email protected]‘
smtp_host=‘smtp.qq.com‘
smtp_auth_user=‘[email protected]‘
smpt_auth_password=‘mdkuasfhnjbrbhdj‘
certs_dir=/root/.certs
mail_conf=/etc/mail.rc


content=`cat $mail_conf |grep ‘smtp-auth-user‘`
if [ "x$content" != "x"  ];then
   action  "‘$mail_conf‘ 文件已经配置" /bin/true
   exit 1
fi


cat >> $mail_conf <<EOF 
set from=$frommail
set smtp=$smtp_host
set smtp-auth-user=$smtp_auth_user
set smtp-auth-password=$smpt_auth_password
set smtp-auth=login
set smtp-use-starttls
set ssl-verify=ignore
set nss-config-dir=$certs_dir
EOF

[ $? -eq 0  ] && action "配置$mail_conf文件" /bin/true 

[ ! -d $certs_dir ] && mkdir -p $certs_dir
echo -n | openssl s_client -connect $smtp_host:465 | sed -ne ‘/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p‘ > $certs_dir/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d $certs_dir -i $certs_dir/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d $certs_dir -i $certs_dir/qq.crt
certutil -L -d $certs_dir

[ $? -eq 0  ] && action "生成证书" /bin/true


在root用户下执行:

sh auto_mail_configure.sh

技术分享

执行完成


接下来执行下面的命令进行测试:

echo  hello word | mailx -v -s " title" [email protected]

技术分享

查看有没有收到邮件:

技术分享

本文出自 “徐铭江的博客” 博客,请务必保留此出处http://dadaloveyou.blog.51cto.com/703960/1880022

以上是关于shell 脚本自动配置发送qq邮件的主要内容,如果未能解决你的问题,请参考以下文章

使用阿里云服务器写shell脚本发送qq邮件的三个形式

Jenkins 配置邮件发送测试报告

Mac下命令行发邮件搭配php(shell_exec...)等脚本语言,轻松发邮件,告别各种依赖库

shell 脚本发送邮件

shell 脚本发送邮件

jenkins配置QQ邮箱自动发送RF测试构建结果通知邮件