在跟着《Flask Web开发:基于Python的Web应用开发实战》一书学习时,出现了以上错误提示。

问题出于第11章——博客文章。当运行

python manage.py runserver

后,在浏览器中打开localhost:5000,进入博客首页,然后在右上角点击login,然后点击register。填写注册信息后,系统会发送一封确认注册信息的电子邮件到注册的邮箱,但进入注册邮箱查看,并未收到邮件,然后查看runserver服务器返回的信息,除了上面有一长串的返回信息及错误文件路径外,最下面的,就是本文标题中所出现的错误提示,完整提示如下:

SMTPSenderRefused: (530, ‘5.5.1 Authentication Required. Learn more at \n5.5.1 https://support.google.com/mail/answer/14257 f14sm8290713ioi.2 – gsmtp’, ‘Flasky Admin <flasky@example.com>’)

而如果注册信息没有能从邮箱中确认,则书本后续的代码效果将无法进行查看,即所写代码将无从验证。因此该问题必须解决,方可进行下一步学习。

由以上错误提示可知,系统要求认证,对用于发送邮件的账号的认证。我们要做的,即是找出SMTP的配置信息。查看代码目录,可在flask根目录中发现有一个名为config.py的文件,明显该文件即配置信息所在。由于我们学习时,曾进行git checkout操作用书本源码替换掉自己的代码,因此怀疑错误即由作者的配置与我本机(邮件账户)信息不一致所至。因此打开该文件进行编辑:

上图中8-15行即为基本配置信息,可看到作者的默认配置为gmail的配置:

MAIL_SERVER = ‘smtp.googlemail.com’
MAIL_PORT = 587

最重要的在于这两行配置,前者设置了邮件服务器地址,后者为邮件服务器端口。因在大陆使用gmail容易出问题,因此我们应改为国内的邮件服务器进行测试学习。我将其改为新浪邮箱服务器的地址和默认端口:

MAIL_SERVER = ‘smtp.sina.com’
MAIL_PORT = 25

config.py配置文件中,第11/12/15行分别为管理员账户(即你是用这个邮箱账户发邮件给注册人的)的信息,即用于认证的信息。所以邮件服务器改完后,还应该配置这几行信息。配置方法在书本第6章——电子邮件中有说明,可参考第60页和第62页。

以上修改完毕后,再运行

python manage.py runserver

然后再点击发送电子邮件,就可以在注册邮箱中收到验证邮件了。注意查看垃圾箱

SMTPSenderRefused: (530, ‘5.5.1 Authentication Required. Learn more at \n5.5.1的更多相关文章

  1. 转WCF Proxy Authentication Required

    WCF Proxy Authentication Required The Problem When I’m in the office, I have to use an authenticated ...

  2. Redis服务停止报错解决方案[NOAUTH Authentication required]

    Redis服务器设置密码后,使用service redis stop 会出现以下信息: service redis stop Stopping ... OK (error) NOAUTH Authen ...

  3. jenkins 安装 SVN Publisher 后向 svn 提交代码报错: E170001: Authentication required for...

    问题描写叙述 安装并启动 jenkins 后,加入了 SVN Publisher 插件,然后在构建任务的"构建后操作"操作中加入了"Publish to Subversi ...

  4. Jedis异常解决:NOAUTH Authentication required

    引言 之前项目能够正常运行,因为默认选择db0,后来新的需求来了,不是默认db0,而是给参数选择db. 修改后代码如下,却报错NOAUTH Authentication required. 解决方法 ...

  5. redis 执行操作时提示(error) NOAUTH Authentication required.

    (error) NOAUTH Authentication required. 出现认证问题,设置了认证密码,输入密码即可 127.0.0.1:6379> auth 123456

  6. REdis MASTER aborted replication NOAUTH Authentication required

    对于REdis集群,如果设置了requirepass,则一定要设置masterauth,否则从节点无法正常工作,查看从节点日志可以看到哪下内容:19213:S 22 Apr 2019 10:52:17 ...

  7. redis出现错误:NOAUTH Authentication required.

    出现认证问题,应该是设置了认证密码,输入密码既可以啦 注意密码是字符串形式! 127.0.0.1:6379> auth "yourpassword" 127.0.0.1:63 ...

  8. redis安全 (error) NOAUTH Authentication required

    Redis 安全 我们可以通过 redis 的配置文件设置密码参数,这样客户端连接到 redis 服务就需要密码验证,这样可以让你的 redis 服务更安全. 实例 我们可以通过以下命令查看是否设置了 ...

  9. (转载)jenkins 安装 SVN Publisher 后向 svn 提交代码报错: E170001: Authentication required for...

    问题描写叙述 安装并启动 jenkins 后,加入了 SVN Publisher 插件,然后在构建任务的“构建后操作”操作中加入了“Publish to Subversion repository”相 ...

随机推荐

  1. LeetCode 675. Cut Off Trees for Golf Event

    原题链接在这里:https://leetcode.com/problems/cut-off-trees-for-golf-event/description/ 题目: You are asked to ...

  2. Django之tag标签和filter标签

    1.Django的tag常见的标签,可以做一些简单的功能 {%if%} 的使用主要用于做判断,还可以包含{%elif%} 这样的用法,最后要跟上{% endif %}.可以使用你的and,or,not ...

  3. python---time 相关, str 转timestamp

    df['col'] = pd.to_datetime(df['col']) from datetime import date from datetime import datetime d = da ...

  4. Hadoop 2.7.4 关闭与启动

    环境说明:[root@hadp-master sbin]# hadoop versionHadoop 2.7.4 一. 脚本封装全部一起启动.关闭1.1 启动[root@hadp-master sbi ...

  5. Apache + Tomcat + 连接器JK

    一 安装Apache 下载apache: https://www.apache.org/   ->  http://mirrors.cnnic.cn/apache/  -> http:// ...

  6. laravel的中间件demo

    过滤器已经被废除...刚学才两天,蛋疼 创建一个中间件 ./artisan make:middleware TestMiddleware 大概代码 <?php namespace App\Htt ...

  7. 初识C++模板元编程(Template Mega Programming)

    前言:毕设时在开源库上做的程序,但是源码看得很晕(当时导师告诉我这是模板元编程,可以不用太在乎),最近自己造轮子时想学习STL的源码,但也是一样的感觉,大致了解他这么做要干什么,但是不知道里面的机制. ...

  8. 使用FileZilla连接Linux

      FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能.可控性.有条理的界面和管理多站点的简化方式使得Filezilla客户端版成为一个方便高效的FTP ...

  9. java代码---indexOf()方法

    总结:indexOf(String str,int index)方法.从参数指定位置开始,如果index值超过了字符串长度,则返回-1 package com.a.b; import java.io. ...

  10. 读取web外的配置文件

    一般web项目配置文件都放在classPath下面,读取的时候: 1 import java.io.InputStream; 2 import java.util.Properties; 3 publ ...