python配合crontab自動發送郵件

很多時候需要實現自動郵件發送,例如每天的日誌,告警或者其他審計信息。
python腳本實現發送郵件,crontab定時任務實現定時自動發送。
python腳本如下:

#!/usr/bin/python
#-*-coding:utf-8 -*-
#
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication 
 
if __name__ == '__main__':
        fromaddr = '[email protected]'
        password = '123123'
        toaddrs = ['[email protected]']
 
        content = '附件是昨日慢SQL信息,請查收。'
        textApart = MIMEText(content,'plain','utf-8')
	
        excelFile = 'sql.xlsx'
        excelApart = MIMEApplication(open(excelFile, 'rb').read())
        excelApart.add_header('Content-Disposition', 'attachment', filename=excelFile)
    
 
        m = MIMEMultipart()
        m.attach(textApart)
        m.attach(excelApart)
	#郵件內容設置
	#郵件主題
        m['Subject'] = '慢sql信息表'
	#發送方信息
	m['From'] = '[email protected]'
	#接受方信息
	m['To'] = ",".join(toaddrs)
 
        try:
            server = smtplib.SMTP('smtp.qq.com')
            server.login(fromaddr,password)
            server.sendmail(fromaddr, toaddrs, m.as_string())
            print('success')
            server.quit()
        except smtplib.SMTPException as e:
            print('error:',e) #打印錯誤

值得一提的是,有些郵箱比如qq郵箱,會有授權碼功能,需要先獲取授權碼,然後當作密碼在腳本中使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章