gpt4 book ai didi

python - 错误 : [Errno 111] Connection refused in flask -mail

转载 作者:太空宇宙 更新时间:2023-11-04 01:16:09 30 4
gpt4 key购买 nike

我有两个演示,第一个不工作,但第二个工作。我想了解原因。

错误:

raise err
error: [Errno 111] Connection refused

__init__.py

mail = Mail()

MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 465
MAIL_USE_TLS = False
MAIL_USE_SSL= True
MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')

def create_app(config_name):
app = Flask(__name__)
app.config.from_object(config[config_name])

mail.init_app(app)
app.debug = True

return app

app = create_app(os.getenv('FLASK_CONFIG') or 'default')

views.py

from ..mymail import mmail

mmail();

mymail.py

from flask.ext.mail import Message
from . import mail

def mmail():
msg = Message(
'Hello',
sender='user@gmail.com',
recipients=
['xxxxxxxxxx@hotmail.com'])
msg.body = "This is the email body"
mail.send(msg)
return "Sent"

奇怪的是,这个例子会正常工作:

from flask.ext.mail import Mail, Message
import os

DEBUG = True

MAIL_SERVER='smtp.gmail.com'
MAIL_PORT=465
MAIL_USE_TLS = False
MAIL_USE_SSL= True
MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')

def create_app(config_name):
app = Flask(__name__)
app.config.from_object(__name__)
mail = Mail(app)

msg = Message(
'Hello',
sender='user@gmail.com',
recipients=
['xxxxxxxxxx@hotmail.com'])
msg.body = "This is the email body"
mail.send(msg)
return "Sent"

app = create_app(os.getenv('FLASK_CONFIG') or 'default')

那么,问题是什么?

最佳答案

这里的问题是您没有将苹果与苹果进行比较。

  • 在非工作示例中,您使用来自名为 config 的未指定类字典对象的值配置您的应用程序传递在名为 FLASK_CONFIG 的环境变量中找到的 key (如果未定义 FLASK_CONFIG,则回退到“默认”)。

    app.config.from_object(config[config_name])
  • 工作示例中,您使用当前模块中定义的大写名称配置您的应用程序:

    app.config.from_object(__name__)
    # config_name is ignored

无论传递给非工作 示例的任何 key 都提供了一个对象,该对象没有您要用于 Mail 的凭证。 .

您可以:

  • 首先通过您的默认值配置您的应用程序,然后从您的 config 加载覆盖词典:

    app.config.from_object(__name__)
    app.config.from_object(config[config_name])
  • 或者确保您的配置具有正确的值:

    config = {
    "development": SomeDevConfig,
    "staging": SomeStagingConfig,
    "production": SomeProductionConfig,
    "default": SomeDefaultConfig
    }

关于python - 错误 : [Errno 111] Connection refused in flask -mail,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24543286/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com