我正在尝试使用Flask邮件从我的应用程序发送电子邮件。我在 init .py中配置了我的设置,但是flask-mail尝试使用127.0.0.1作为端口25的邮件服务器,而不是我提供的配置
起初,我虽然使用gmail是一个问题。因此,我尝试使用sendgrid和mailjet获得相同的结果。然后我注意到它没有使用正确的服务器
这是我来自 init .py
的配置MAIL_SERVER = 'in-v3.mailjet.com'
MAIL_PORT = 587
MAIL_USE_TLS = True
MAIL_USE_SSL = False
MAIL_USERNAME = os.environ.get('MAILJET_USER')
MAIL_PASSWORD = os.environ.get('MAILJET_PASS')
mail = Mail(app)
这是stacktrace中的dump()
address
('127.0.0.1', 25)
timeout
<object object at 0x7f086826c150>
source_address
None
host
'127.0.0.1'
port
25
err
ConnectionRefusedError(111, 'Connection refused')
res
(, , 6, '', ('127.0.0.1', 25))
af
socktype
proto
6
canonname
''
sa
('127.0.0.1', 25)
sock
<socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>
init .py中我所有其他配置内容均已正确读取并应用
答案 0 :(得分:0)
添加app.config就是答案
app.config['MAIL_SERVER'] = 'in-v3.mailjet.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USE_SSL'] = False
app.config['MAIL_USERNAME'] = os.environ.get('MAILJET_USER')
app.config['MAIL_PASSWORD'] = os.environ.get('MAILJET_PASS')