Flask Mail在Ubuntu上部署后不起作用

时间:2020-02-23 13:59:12

标签: nginx flask flask-mail

我正在通过Flask-Mail发送密码重置电子邮件。当我在开发服务器上尝试时,一切正常。在Ubuntu上部署(使用NGINX和Gunicorn)后,在很长的加载时间后就将电子邮件线索发送到Error 502,所以我认为发送电子邮件没有问题,而是设置存在问题。

部署后

我的 init 代码:

import os
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_bcrypt import Bcrypt
from flask_login import LoginManager
from flask_mail import Mail
from flask_socketio import SocketIO

import json

with open('/etc/config.json') as config_file:
    config = json.load(config_file)

app = Flask(__name__)
app.config['SECRET_KEY'] = config.get('SECRET_KEY')
app.config['SQLALCHEMY_DATABASE_URI'] = config.get('SQLALCHEMY_DATABASE_URI')
db = SQLAlchemy(app)
bcrypt = Bcrypt(app)
login_manager = LoginManager(app)
login_manager.login_view = 'login'
login_manager.login_message_category = 'info'
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = config.get('EMAIL_USER')
app.config['MAIL_PASSWORD'] = config.get('EMAIL_PASS')
mail = Mail(app)

在config.json中正确提供了信息

2 个答案:

答案 0 :(得分:0)

为客户端禁用验证码 如果您未使用2要素身份验证,并且已验证Python来源中的凭据正确,请按照以下步骤操作:

1。)在浏览器中登录gmail

2。)导航到DisplayUnclockCaptcha页面。

3。)单击继续按钮,您将看到消息“ 已启用帐户访问权限,请尝试从新设备或应用程序重新登录Google帐户。

4。)运行您的Python脚本-您的登录尝试应该成功。

答案 1 :(得分:0)

您好,我可能有点晚了,但是 thomas 您的问题是由于 linode 引起的,这可能是您使用的部署服务器,决定默认阻止您正在使用的端口,正如您在此处看到的那样。 https://www.linode.com/community/questions/19082/i-just-created-my-first-linode-and-i-cant-send-emails-why 如果你遵循这个过程,它肯定会起作用