使用python3模块发送邮箱验证码

先上代码:

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

my_sender = '[email protected]'  # 发件人邮箱账号
my_pass = 'aaaaaaaaa'  # 发件人邮箱密码
my_user = '[email protected]'  # 收件人邮箱账号,我这边发送给自己


def mail():
    ret = True
    try:
        msg = MIMEText('验证码为:123456', 'plain', 'utf-8')
        msg['From'] = formataddr(["From nicead.top", my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['To'] = formataddr(["FK", my_user])  # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['Subject'] = "验证码"  # 邮件的主题,也可以说是标题

        server = smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是25
        server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(my_sender, [my_user, ], msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.quit()  # 关闭连接
    except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
        ret = False
    return ret


ret = mail()
if ret:
    print("邮件发送成功")
else:
    print("邮件发送失败")

这里以qq邮箱为例,上面的发件人邮箱密码并不是你登录qq的密码,而是qq邮箱的授权码,具体查看路径如下:
使用python3模块发送邮箱验证码
左上角点击设置进入,然后点击账户,进入账户的设置页面:
使用python3模块发送邮箱验证码
这里将第一条的smtp服务开启,然后生成授权码,得到授权码后即可添加到python模块中。
这样经过上面的配置即可向目标邮箱中发送数据了,邮箱内容也可以进行自定义编写,收到的邮件内容如下:

使用python3模块发送邮箱验证码