利用flask-mail发送邮件(以qq邮箱为例)

利用flask-mail发送邮件(以qq邮箱为例)

首先安装flask-mail扩展

pip install flask-mail
# 如果太慢就使用镜像下载
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask-mail

在qq邮箱中开启stmp,并获取授权码

在这里插入图片描述

  • 授权码长这样

在这里插入图片描述

  • 为什么要获取授权码

    因为部分邮箱服务提供商校验的时候,不要求邮箱的密码,而要求授权码

配置config

创建config.py文件写入

# 发送邮件服务器:smtp.qq.com,使用SSL,端口号465或587
MAIL_SERVER = 'smtp.qq.com'
# 发送邮件的端口
MAIL_PORT = 465
# 传输安全服务器协议
MAIL_USE_TLS = True
# 用户名也就是qq邮箱账号
MAIL_USERNAME = 'asdasdas4@qq.com'
# 授权码,并不是密码
MAIL_PASSWORD = 'sasdasdasdasf'

编写app.py文件

from flask import Flask
from flask_mail import  Mail,Message
import config


app = Flask(__name__)
#导入配置文件
app.config.from_object(config)
# 创建Mail对象
mail = Mail(app)


@app.route('/mail')
def sendEmail():
    # 参数分别是 邮件标题 发送账号 接收方(可以有多个)
    msg = Message("智障理工大----验证码",sender='xxxxx@qq.com',recipients=['xxxxx@qq.com','xxxxx@qq.com'])
    # 邮件体内容
    msg.body = '你好,您的验证码为:sb555'
    # 发送邮件
    mail.send(msg)
    return '1'

if __name__ == '__main__':
    app.run()

常见报错

1.配置信息出错

TypeError: getaddrinfo() argument 1 must be string or None

# 发送邮件服务器:smtp.qq.com,使用SSL,端口号465或587,多了","号发生错误
MAIL_SERVER = 'smtp.qq.com',

2.login-fali

可能是用户名或密码错误

3. 检查端口是否配置对了

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值