Python3 发送邮件脚本

有时服务器出了什么问题,管理员并不能立刻知道状况,如果是很重要的服务崩溃了,管理员却不能在第一时间恢复该服务,这样带来的损失是巨大,这时就需要一个邮件脚本动态向管理员反应服务器的状况了。

#!/usr/bin/python3

import os
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import time

# 第三方 SMTP 服务
# 下面用我自己的QQ举个例子
mail_host = "smtp.qq.com"  # 设置服务器
mail_user = "2462148389"  # 用户名
mail_pass = "***************"  # 口令
                               # 注意:口令不是QQ密码

sender = '2462148389@qq.com'
receivers = ['2462148389@qq.com']  # 接收邮件,可设置为你的QQ邮箱
                                   # 或者其他邮箱

def SendMail(info):
    message = MIMEText(info, 'plain', 'utf-8') #正文

    message['From'] = Header("myself", 'utf-8') #发件人
    message['To'] = Header("Ex", 'utf-8')

    subject = 'I am subject'
    message['Subject'] = Header(subject, 'utf-8') #标题

    smtpObj = smtplib.SMTP_SSL()
    smtpObj.connect(mail_host, 465)  # 25 为 SMTP 端口号
    smtpObj.login(mail_user, mail_pass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    smtpObj.close()
    print("Send mail successully")

if (__name__ == "__main__"):
    SendMail('test')