Flaskmail正在尝试使用localhost作为邮件服务器,而不是配置的SMTP服务器

2024-06-16 12:27:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用flask mail从我的应用程序发送电子邮件。我在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中的所有其他配置文件都被正确读取和应用


Tags: py服务器flaskgetobjectinitosuse
1条回答
网友
1楼 · 发布于 2024-06-16 12:27:40

添加应用程序配置答案是什么

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')

相关问题 更多 >