我經常需要用手機看服務器的運行情況,所以就寫一個腳本,通過郵件把服務器運行情況發送給我,直接手機可以查看煉丹狀態。事實證明還是很有用的,所以撰寫一篇博文將腳本分享給大家。這里用到smtplib
和email
兩個python包。
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL
from email.mime.multipart import MIMEMultipartclass Mailer:def __init__(self, account, password):self.sender = smtplib.SMTP_SSL('smtp.qq.com')self.login(account, password)self.account = accountself.msg = Nonedef login(self, account, password):if "qq.com" not in account:print("Only QQ mail be supported!")raise Errorself.sender.login(account, password)def write_mail(self, header, content):self.msg = MIMEMultipart()self.msg["Subject"] = Header(header, "utf-8")self.msg["From"] = self.accountself.msg.attach(MIMEText(content, "plain", "utf-8"))def send_to(self, receiver):self.msg["To"] = receiverself.sender.sendmail(self.account, receiver, self.msg.as_string())print(self.msg.as_string())def _main():# login your QQ mailmailer = Mailer('xxxxxx@qq.com','your password')# write mailmailer.write_mail("標題", "測試內容。")# send mail to any mailmailer.send_to("xxxxxxx@163.com")if __name__ =='__main__':_main()
腳本由本人原創,借用請說明出處。這里只能使用QQ郵箱,如果使用其他郵箱需要改寫對應的smtp服務器。同時,使用發送方郵箱時需要在設置中開啟SMTP服務,否則將會無法登錄。
如何開啟SMTP服務器?
- 用網頁登錄對應郵箱;
- 找到設置;
- 在設置中找到“開啟POP3/IMAP/SMTP/Exchange/CardDAV服務”;
- 授權開啟即可。
有疑問可留言交流~