因为项目需要,需要写一个通过qq邮箱服务器发送邮件的脚本,代码如图所示:
import smtplib
from email.mime.text import MIMEText
def send_alarm(mail_host, mail_user, mail_pass, sender, receivers, title, msg):
"""
发送报警邮件工具方法
:param mail_host: 邮件服务器
:param mail_user: 邮件服务器登录用户
:param mail_pass: 邮件服务器授权码
:param sender: 邮件发送人
:param receivers: 邮件接收者
:param title: 邮件主题
:param msg: 邮件内容
:return: None
"""
message = MIMEText(msg, 'plain', 'utf-8')
message["Subject"] = title
smtpObj = smtplib.SMTP() # 建立和SMTP邮件服务器的连接
smtpObj.connect(mail_host, 25) # 25 为端口号
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print("alarm send success!")
if __name__ == '__main__':
mail_host = 'smtp.qq.com'
# 这个需要改为你自己的qq
mail_user = '123456789@qq.com'
# 这个不是qq密码,也不是登录qq邮箱的密码,而是邮箱授权码
mail_pass = 'xxxxxx'
# 这个需要改为你自己的qq
sender = 'xxxxx@qq.com'
receivers = 'abcdefg@163.com'
title = "邮件报警测试"
msg = "哦哦哦哦哦"
# 调用发送邮件工具方法
send_alarm(mail_host, mail_user, mail_pass, sender, receivers, title, msg)
效果展示: