Problems Solutions --8 SMTP in flask_mail

2023-12-27 15:08

本文主要是介绍Problems Solutions --8 SMTP in flask_mail,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

明明按照书中的代码来写,还是出错,大半天了。
还好解决了问题。


这样的报错 :smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed')


解决办法竟然很简单:

smtp 简单邮件传输协议。

然后,一般邮箱中这个服务是关闭的。
可以自己开启这个服务,以QQ邮箱为例,设置→账户设置→开启这个SMTP服务:

这里写图片描述

QQ邮箱会自动生成一个授权码,flask_mail配置环境中的PASSWORD使用这个授权码,而不是邮箱密码。

这里写图片描述

然后运行flask程序,可以正常发送邮件了:

这里写图片描述


163邮箱,开启SMTP,会要求自己设置授权码。
使用时一样的,在环境配置时使用这个授权码,而不是邮箱密码。


测试用的代码,直接将邮箱名、密码写在了flask代码中。
书中建议在运行代码前命令行中输入这些配置,flask代码从命令行中获取邮箱名、密码、收件人。

from flask import Flask
from flask_mail import Mail, Messageapp = Flask(__name__)
app.config.update(DEBUG = True,MAIL_SERVER='smtp.qq.com',MAIL_PROT=25,MAIL_USE_TLS = True,MAIL_USE_SSL = False,MAIL_USERNAME = '(这里写邮箱名)',MAIL_PASSWORD = '(这里输入授权码)',MAIL_DEBUG = True
)mail = Mail(app)@app.route('/')
def index():# sender 发送方,recipients recipients 邮件接收方列表msg = Message("Hi!This is a test ",sender='(发送方邮箱)', recipients=['(收件人邮箱)'])# msg.body 邮件正文 msg.body = "This is a first email"# msg.attach 邮件附件添加# msg.attach("文件名", "类型", 读取文件)with app.open_resource("E:\psu.jpg") as fp:msg.attach("image.jpg", "image/jpg", fp.read())mail.send(msg) #发送邮件return "Sent"  #网页中显示if __name__ == "__main__":app.run()  # 访问http://127.0.0.1:5000/ 会运行index函数,发送邮件

这篇关于Problems Solutions --8 SMTP in flask_mail的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/543538

相关文章

Django中使用SMTP实现邮件发送功能

《Django中使用SMTP实现邮件发送功能》在Django中使用SMTP发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在Django中配置S... 目录1. 配置 Django 项目以使用 SMTP2. 创建 Django 应用3. 添加应用到项目设置4. 创建

nyoj 695 Judging Filling Problems

一道强大的模拟题。。。 只要学会<string>类的运用即可。。。 注意: 1、细节的处理。 2、问题的分情况讨论。。 附上代码: 有好对缀余的地方,希望大神前来更新。 #include<stdio.h>#include<string.h>#include<string>#include<iostream>using namespace std;int num[1000

flask-login 生成 cookie,session

flask-login 生成 cookie,session Flask-Login login_user() 显示来自 Set-Cookie 标头的加密 cookie # 模拟一个用户类class User(UserMixin):def __init__(self, id):self.id = id@app.route('/login')def login():# 模拟用户登录过程user

Flask 创建app 时候传入的 static_folder 和 static_url_path参数理解

Flask 在创建app的时候 是用 app = Flask(__name__) 来创建的,不传入 static_folder参数的话 ,默认的静态文件的位置是在 static目录下 我们可以进入 Flask的源码里面查看 ctrl+鼠标左键进入 这是Flask的 __init__源码(后面还有一些,我就选了需要的代码)     def __init__(self,import_

【python web】Flask+Echarts 实现动图图表

flask 是python web开发的微框架,Echarts酷炫的功能主要是javascript起作用,将两者结合起来,发挥的作用更大。下面将Echarts嵌套进Flask的html模板中。 项目结构: 打开demo.py运行,点击console中的链接http://127.0.0.1:5000/ 就可以看到我们想要的动态图表。 demo.py #coding:utf-8fro

Flask-Session扩展,使用Redis存储会话数据

深入理解Flask-session扩展Redis Flask 应用中使用 flask-session 扩展将 session 数据存储在 Redis 中是一种高效且可扩展的方法,特别是在需要处理大量用户或需要分布式部署的应用中。以下是如何在 Flask 应用中配置 flask-session 以使用 Redis 存储 session 的步骤: 1. 安装必要的库 首先,你需要安装 Flask

Flask:Python轻量级Web框架详解

Flask是一个用Python编写的轻量级Web应用框架。它被设计为易于使用和扩展,非常适合小型项目和微服务,同时也能够支持大型应用。Flask依赖于少量的外部库,并且提供了一个简单的方式来创建Web应用。 Flask的主要特点 轻量级:Flask核心非常简单,使得它易于理解和扩展。扩展性:Flask可以通过扩展来增加额外的功能。灵活性:Flask允许你以任何你喜欢的方式组织你的应用。微核心设

如何处理Flask中的路由

在Flask框架中,路由是Web应用的核心组成部分之一,它定义了URL路径与视图函数之间的映射关系。当用户通过浏览器访问特定的URL时,Flask会根据定义的路由规则找到对应的视图函数,并调用该函数来处理请求,最后返回响应给客户端。处理Flask中的路由涉及定义路由、动态路由、路由参数、路由装饰器、蓝图等多个方面。由于直接撰写5000字详细阐述这些内容可能过于冗长,我将提供一个简明而全面的概述,并

JavaMail 发送邮件系列(一):发送基本邮件

使用JavaMail API发送邮件,大概分为三个类:MyAuthenticator---密码认证器,MailSendInfo--邮件发送消息集合,MailSendUtils--邮件发送消息注入执行 Maven依赖 <dependency ><groupId > javax.mail </ groupId ><artifactId > mail </ artifactId ><ver

Flask中 blinker 是什么

在Flask框架中,blinker 是一个非常重要的组件,它作为信号处理的库,为Flask应用提供了一种灵活而强大的事件处理机制。以下是对Flask中blinker的详细阐述,考虑到篇幅限制,无法直接达到5000字,但会尽量全面而深入地介绍其关键方面。 一、blinker 简介 blinker 是一个基于Python的轻量级信号库,它允许开发者在Python应用程序中实现观察者模式(也称为发布