烧瓶邮件无法使用TLS发送邮件

时间:2020-09-02 06:01:21

标签: python email flask

Flask-mail无法使用TLS发送邮件,但是Flask-mail不使用TLS成功发送邮件,smtplib使用TLS成功发送邮件。我尝试了很长时间,包括在Internet上搜索各种方式,但是仍然找不到发送失败的原因,希望有人可以帮助我。
这是烧瓶配置:

    SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
    MAIL_SERVER = os.environ.get('MAIL_SERVER', 'smtp.126.com')
    # MAIL_PORT = int(os.environ.get('MAIL_PORT', '465'))
    MAIL_PORT = int(os.environ.get('MAIL_PORT', '25'))
    # set MAIL_USE_TLS = True is failed
    # MAIL_USE_TLS = os.environ.get('MAIL_USE_TLS', 'true').lower in ['true', 'on', '1']
    MAIL_USE_TLS = os.environ.get('MAIL_USE_TLS', 'false').lower in ['false', 'off', '0']
    MAIL_USERNAME = os.environ.get('MAIL_USERNAME') or 'ljyjunye@126.com'
    MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD') or '***'
    FLASK_MAIL_SUBJECT_PREFIX = '[Flasky]'
    FLASK_MAIL_SENDER = os.environ.get('MAIL_USERNAME') or 'ljyjunye@126.com'
    SQLALCHEMY_TRACK_MODIFICATIONS = False

这是发送邮件失败的错误:

Exception in thread Thread-7:
Traceback (most recent call last):
  File "d:\anaconda3\envs\blog_env\lib\threading.py", line 926, in _bootstrap_inner
    self.run()
  File "d:\anaconda3\envs\blog_env\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "D:\vs-python-project\blog\app\email.py", line 9, in send_async_email
    mail.send(msg)
  File "d:\anaconda3\envs\blog_env\lib\site-packages\flask_mail.py", line 491, in send
    with self.connect() as connection:
  File "d:\anaconda3\envs\blog_env\lib\site-packages\flask_mail.py", line 144, in __enter__
    self.host = self.configure_host()
  File "d:\anaconda3\envs\blog_env\lib\site-packages\flask_mail.py", line 158, in configure_host
    host = smtplib.SMTP(self.mail.server, self.mail.port)
  File "d:\anaconda3\envs\blog_env\lib\smtplib.py", line 251, in __init__
    (code, msg) = self.connect(host, port)
  File "d:\anaconda3\envs\blog_env\lib\smtplib.py", line 338, in connect
    (code, msg) = self.getreply()
  File "d:\anaconda3\envs\blog_env\lib\smtplib.py", line 394, in getreply
    raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed

0 个答案:

没有答案