使用python发送邮件告知SSL证书到期时间

Updated on in 人生苦短,我用Python with 319 views

现在域名上面很多证书,需要一个强有力的工具去查看并且了解到期时间的状况然后告知你。
检测脚本下载地址:
sslooker.kernel3.10.0.x8664.rar

使用方法:

#!/bin/bash

dir=/tmp/yuming
data=`date +%Y-%m-%d`
script=/usr/bin/sslooker
yuming=`cat /tmp/yuming`

for i in ${yuming[*]}
do
   hours=`echo -e "$( $script $i 443 )"`
   days=`echo "$hours/24"|bc`

   if [ "$days" -lt  "3" ];
   then
   cat > /tmp/sendmail.py << ccc

#!/usr/bin/env python3
import os
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

my_sender = '598941324@qq.com'
my_pass = 'mypsdfwlwbkojrqbdcc'
my_user = '598941324@qq.com'

body = '''
时间:$data :
Your SSL certificate on {name} to expire  {hours} hours
<请检查相关域名SSL证书, $days 天后到期,请注意!>。
'''.format(name="$i",hours="$hours")

def mail():
    ret = True
    msg = MIMEText(body, 'html', 'utf-8')
    msg['From'] = formataddr(["Cuijianzhe", my_sender])
    msg['To'] = formataddr(["Cuijianzhe", my_user])
    msg['Subject'] = 'SSL check on cjzshilong.cn'
    server = smtplib.SMTP_SSL("smtp.qq.com", 465)
    server.login(my_sender, my_pass)
    server.sendmail(my_sender, [my_user, ], msg.as_string())
    server.quit()
    ret=False

    return ret
    ret = mail()
    if ret:
        print("邮件发送成功")
    else:
        print("邮件发送失败")
mail()
ccc
/usr/bin/python3 /tmp/sendmail.py

    fi
done

使用方法:

如果用的是 QQ 邮箱需要生成第三方邮箱授权码:
shouquanma.png

然后运行脚本

# root @ blog in ~ [14:22:46] $ ./SSL_check.sh

结果:

SSL.png

注:腾讯 QQ 邮箱服务器:smtp.qq.com
腾讯企业邮服务器:smtp.exmail.qq.com(使用 SSL,端口号 465)

到头来 我们记住的 不是敌人的攻击 而是朋友的沉默 ---马丁·路德·金

Responses