在工作中,如果自己部署了一些腳本在服務(wù)器上,那么就需要在腳本報(bào)錯(cuò)時(shí)提供一個(gè)主動(dòng)通知.
可以在自己腳本的異常處理中, 調(diào)用以下代碼的發(fā)送郵件方法,在觸發(fā)異常時(shí)發(fā)送郵件給自己.
很多公司開發(fā)環(huán)境都是內(nèi)部局域網(wǎng),這個(gè)時(shí)候只需要把
smtpserver換成自己公司內(nèi)網(wǎng)郵件服務(wù)器的ip即可
代碼:
#coding: utf-8
import smtplib
from email.mime.text import MIMEText
from email.header import Header
#收件人和發(fā)件人
receiver = 'receiver@163.com'
sender = 'sender@163.com'
#發(fā)件人郵箱的SMTP服務(wù)器(即sender的SMTP服務(wù)器)
smtpserver = 'smtp.163.com'
#發(fā)件人郵箱的用戶名和授權(quán)碼(不是登陸郵箱的密碼)
username = 'sender@163.com'
password = 'tester' #(163郵箱的授權(quán)碼)
mail_title = '郵件標(biāo)題'
mail_body = '郵件內(nèi)容'
def send_email_tome(mail_title,mail_body):
#創(chuàng)建一個(gè)實(shí)例
message = MIMEText( mail_body, 'plain', 'utf-8' ) #郵件正文
# (plain表示mail_body的內(nèi)容直接顯示,也可以用text,則mail_body的內(nèi)容在正文中以文本的形式顯示,需要下載)
message ['From'] = sender #郵件上顯示的發(fā)件人
message['To'] = receiver #郵件上顯示的收件人
message['Subject'] = Header( mail_title, 'utf-8' ) #郵件主題
smtp = smtplib.SMTP() #創(chuàng)建一個(gè)連接
smtp.connect( smtpserver ) #連接發(fā)送郵件的服務(wù)器
smtp.login( username, password ) #登錄服務(wù)器
smtp.sendmail( sender, receiver, message.as_string() ) #填入郵件的相關(guān)信息并發(fā)送
smtp.quit()