Python Flask快速实现163邮箱发送验证码

  1. 获取网易邮箱授权码

网址:163网易免费邮-你的专业电子邮局

  • 登录成功,点击顶部设置,选中POP3/SMTP/IMAP 选项
  • 开启POP3/SMTP服务
  • 点击开启,输入验证。开启成功,得到授权码。

  • 一定要记住截图,保留授权码

  1. 下载邮箱依赖
bash 复制代码
pip install Flask-Mail
  1. 导入依赖,并配置邮箱服务(此处以163邮件为列)
python 复制代码
from flask import Flask
from flask_mail import Mail, Message
​
app = Flask(__name__)
​
# 邮件服务器配置(以网易邮箱为例)
app.config['MAIL_SERVER'] = 'smtp.163.com'  # SMTP服务器地址
app.config['MAIL_PORT'] = 465  # SSL加密端口
app.config['MAIL_USE_SSL'] = True  # 启用SSL加密
app.config['MAIL_USERNAME'] = 'au_ok_wlj@163.com'  # 发件邮箱
app.config['MAIL_PASSWORD'] = 'vdhvdvdhsh'  # 邮箱授权码(非密码)
app.config['MAIL_DEFAULT_SENDER'] = 'are_you_ok_wlj@163.com'  # 默认发件人
  1. 初始化Flask-Mail
python 复制代码
mail = Mail(app)
  1. 定义内容编辑方法(方便后续操作)
python 复制代码
def send_email(to, subject, template, **kwargs):
    msg = Message(subject, recipients=[to])
    msg.body = template  # 纯文本内容
    # msg.html = "<html>...</html>"  # HTML格式
    mail.send(msg)
  1. 设定路由方法,当用户访问当前路由时,发送邮件
python 复制代码
@app.route('/welcome/<email>')
def welcome(email):
    send_email(
        to=email,
        subject="您的验证码是:9527",
        template="感谢注册我们的服务!"
    )
    return f"欢迎邮件已发送至 {email}"
  1. 启动程序
python 复制代码
if __name__ == '__main__':
    app.run(debug=True)