python通过qq邮箱服务器发送邮件

因为项目需要,需要写一个通过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 = '[email protected]'
    # 这个不是qq密码,也不是登录qq邮箱的密码,而是邮箱授权码
    mail_pass = 'xxxxxx'
    # 这个需要改为你自己的qq
    sender = '[email protected]'
    receivers = '[email protected]'
    title = "邮件报警测试"
    msg = "哦哦哦哦哦"
    # 调用发送邮件工具方法
    send_alarm(mail_host, mail_user, mail_pass, sender, receivers, title, msg)

效果展示:

python通过qq邮箱服务器发送邮件_第1张图片

其中邮件授权码的获取方式:

python通过qq邮箱服务器发送邮件_第2张图片

你可能感兴趣的:(Python,python,邮件,工具,授权码)