Flask-mail пытается использовать локальный хост как почтовый сервер вместо настроенного SMTP-сервера. - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь отправить электронное письмо из своего приложения с помощью колбы. У меня настроен параметр в 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)

вот дамп () из стека трассировки

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 читаются и применяются правильно

1 Ответ

0 голосов
/ 03 октября 2019

Добавление 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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...