Как проверить, действительно ли Flask -mail отправляет с использованием TLS? - PullRequest
0 голосов
/ 02 мая 2020

У меня есть учетная запись электронной почты от поставщика общего хостинга, использующего cPanel, который предоставляет некоторые инструкции по настройке электронной почты. Существует другой номер порта для конфигурации SSL / TLS (465) и конфигурации не-SSL / TLS (587).

Я пытался использовать этот адрес электронной почты для отправки писем с использованием Flask -Mail, но он продолжал давать сбой, когда я использовал порт 465. Затем я решил попробовать порт 587. И он сразу заработал.

Это у меня __init__.py

app.config['MAIL_SERVER'] = 'mail.example.com'
app.config['MAIL_PORT'] = 587
app.config['MAIL_USE_TLS'] = True
app.config['MAIL_USERNAME'] = secrets.email_username
app.config['MAIL_PASSWORD'] = secrets.email_password
mail = Mail(app)

И это у меня views.py

email_message = Message('Password Reset Request', sender = 'noreply@example.com', recipients = [user.email])
email_message.body = f"""Click this link to reset your password https://www.example.com/reset/{token}"""

cPanel перечислил порт 587 как параметр конфигурации без SSL / TLS, но у меня app.config['MAIL_USE_TLS'] установлено на True. Как я узнаю, действительно ли электронная почта отправляется с TLS? В письме содержится ссылка для сброса пароля (срок действия 30 минут), поэтому я хочу убедиться, что он не будет перехвачен по пути к пользователю.

Заранее спасибо!

...