nginx - Flask Mail 在 Ubuntu 上部署时不起作用

标签 nginx flask flask-mail

我正在使用 Flask-Mail 发送密码重置电子邮件。当我在开发服务器上尝试时,一切正常。当部署在 Ubuntu 上(使用 NGINX、Gunicorn)时,在很长的加载时间后发送电子邮件导致错误 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 中正确提供了信息

最佳答案

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

1.) Login to gmail in your browser

2.) Navigate to the DisplayUnclockCaptcha page.

3.) Click the continue button, and you will see the message 'Account access enabled Please try signing in to your Google account again from your new device or application.'

4.)Run your Python script - your login attempt should be successful.

关于nginx - Flask Mail 在 Ubuntu 上部署时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60362957/

相关文章:

javascript - 如何在客户端使用 angularjs 并在后端使用 flask 开发 Web 应用程序?

testing - 为什么 Flask-Mail 在测试期间实际上发送消息

css - 如何在 rails 2.3 中预编译 css 样式表?

nginx - 配置 nginx 以防止 Cloudbees 中超时

nginx - 带有nginx的Docker注册表:没有这样的主机

ruby-on-rails - 在已安装 Nginx 时安装 Passenger;可能的?

Python:numpy:检测到解释器更改 - 每个进程只能将此模块加载到一个解释器中

python - flask-httpauth 上的多个 verify_password 回调

flask_mail 似乎是在 pythonanywhere 中导入的,但是运行时出现错误代码 : no module named

python - flask_mail,邮件卡在线程上,从未发送过