我经常需要用手机看服务器的运行情况,所以就写一个脚本,通过邮件把服务器运行情况发送给我,直接手机可以查看炼丹状态。事实证明还是很有用的,所以撰写一篇博文将脚本分享给大家。这里用到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 MIMEMultipart
class Mailer:
def __init__(self, account, password):
self.sender = smtplib.SMTP_SSL('smtp.qq.com')
self.login(account, password)
self.account = account
self.msg = None
def login(self, account, password):
if "qq.com" not in account:
print("Only QQ mail be supported!")
raise Error
self.sender.login(account, password)
def write_mail(self, header, content):
self.msg = MIMEMultipart()
self.msg["Subject"] = Header(header, "utf-8")
self.msg["From"] = self.account
self.msg.attach(MIMEText(content, "plain", "utf-8"))
def send_to(self, receiver):
self.msg["To"] = receiver
self.sender.sendmail(self.account, receiver, self.msg.as_string())
print(self.msg.as_string())
def _main():
# login your QQ mail
mailer = Mailer('xxxxxx@qq.com','your password')
# write mail
mailer.write_mail("标题", "测试内容。")
# send mail to any mail
mailer.send_to("xxxxxxx@163.com")
if __name__ =='__main__':
_main()
脚本由本人原创,借用请说明出处。这里只能使用QQ邮箱,如果使用其他邮箱需要改写对应的smtp服务器。同时,使用发送方邮箱时需要在设置中开启SMTP服务,否则将会无法登录。
如何开启SMTP服务器?
-
1.用网页登录对应邮箱;
-
2.找到设置;
-
3.在设置中找到“开启POP3/IMAP/SMTP/Exchange/CardDAV服务”;
-
4.授权开启即可。
有疑问可留言交流~
评论(0)
您还未登录,请登录后发表或查看评论