Flask-Mail истекает при попытке подключиться к Gmail
У меня есть очень маленькое приложение фляги, которое отправляет электронные письма, используя флеш-почту, но когда я запускаю его, ничего не происходит, нет ошибок, нет исключений, ничего!
это код
from flask import Flask
from flask_mail import Mail, Message
app = Flask(__name__)
DEBUG = True
MAIL_SERVER = 'smtp.gmail.com'
MAIL_PORT = 465
MAIL_USE_TLS = False
MAIL_USE_SSL = True
MAIL_DEBUG = True
MAIL_USERNAME = "myemail@gmail.com"
MAIL_PASSWORD = "mypassword"
app.config.from_object(__name__)
mail = Mail(app)
@app.route("/")
def send_mail():
msg = Message("Hello",
sender="myemail@gmail.com",
recipients=["another_email@gmail.com"],
body="just testing",
)
mail.send(msg)
return "Message sent"
if __name__ == '__main__':
app.run()
Обновить
после очень долгого времени я получил эту ошибкуTimeoutError: [Errno 110] Connection timed out
1 ответ
Похоже, я решил свою проблему, сначала зайдите на эту страницу, чтобы разблокировать CAPTCHA
https://accounts.google.com/DisplayUnlockCaptcha
затем на эту страницу, чтобы разрешить доступ из менее безопасных приложений https://www.google.com/settings/security/lesssecureapps
Получил то же, что и Мустафа.
Нашел это: https://www.linode.com/docs/guides/running-a-mail-server/
Отправка электронной почты на Linode
В целях борьбы со спамом Linode ограничивает исходящие соединения на портах 25, 465 и 587 на всех Linodes для новых учетных записей, созданных после 5 ноября 2019 года.
Если вам нужно отправлять почту с вашего Linode, мы просим вас сначала настроить (1) допустимые записи DNS A и (2) записи rDNS для любых Linodes, которые вы планируете использовать для отправки почты. Затем откройте заявку в службу поддержки в Linode Manager - мы попросим вас указать имя Linode(ов), которое будет использоваться для рассылки.
После того, как вы выполните эти шаги и предоставите информацию, наша команда поддержки будет рада рассмотреть ваш запрос.
Я попробовал решение, предложенное Али Факи, и оно не сработало для меня, но когда я предпринял дальнейшие попытки (простой код для проверки, в чем проблема), оказалось, что порты рассылки заблокированы поставщиками облачных услуг ( Linode в моем случае), и вам необходимо настроить доменное имя и связаться с ними, чтобы снова открыть его.