首先运行connect()的Flask SMTP问题

时间:2019-02-27 22:11:22

标签: python email flask smtp jwt

我创建了一个新的GMAIL帐户,以通过Flask设置SMTP服务器。我在底部显示错误。

此做法来自本教程:https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-x-email-support

我想练习使用JWT,并拥有此SMTP阻止程序。

 File "c:\users\c94145\appdata\local\programs\python\python37-32\lib\smtplib.py", line 359, in send
    raise SMTPServerDisconnected('please run connect() first')
smtplib.SMTPServerDisconnected: please run connect() first

config.py

import os
from dotenv import load_dotenv

basedir = os.path.abspath(os.path.dirname(__file__))
load_dotenv(os.path.join(basedir, '.env'))


class Config(object):
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'you-will-never-guess'
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
        'mysql://root:abc123@127.0.0.1/blog'
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    LOG_TO_STDOUT = os.environ.get('LOG_TO_STDOUT')
    MAIL_SERVER = os.environ.get('smtp.gmail.com')
    MAIL_PORT = int(os.environ.get('MAIL_PORT') or 587)
    MAIL_USE_TLS = os.environ.get('MAIL_USE_TLS') is not None
    MAIL_USERNAME = os.environ.get('name@gmail.com')
    MAIL_PASSWORD = os.environ.get('password69')
    ADMINS = ['name@gmail.com']
    LANGUAGES = ['en', 'es']
    MS_TRANSLATOR_KEY = os.environ.get('MS_TRANSLATOR_KEY')
    ELASTICSEARCH_URL = os.environ.get('ELASTICSEARCH_URL')
    REDIS_URL = os.environ.get('REDIS_URL') or 'redis://'
    POSTS_PER_PAGE = 25

(venv) $ set MAIL_SERVER=smtp.googlemail.com
(venv) $ set MAIL_PORT=587
(venv) $ set MAIL_USE_TLS=1
(venv) $ set MAIL_USERNAME=name@gmail.com
(venv) $ set MAIL_PASSWORD=password69

>>> from flask_mail import Message
>>> from app import mail
>>> msg = Message('test subject', sender=app.config['ADMINS'][0],
... recipients=['your-email@example.com'])
>>> msg.body = 'text body'
>>> msg.html = '<h1>HTML body</h1>'
>>> mail.send(msg)

错误:

在处理上述异常期间,发生了另一个异常:

回溯(最近通话最近):   文件“”,第1行,位于   发送中的文件“ c:\ users \ c94145 \ appdata \ local \ programs \ python \ python37-32 \ lib \ site-packages \ flask_mail.py”,第492行     message.send(连接)   退出中的文件“ c:\ users \ c94145 \ appdata \ local \ programs \ python \ python37-32 \ lib \ site-packages \ flask_mail.py”,第152行     self.host.quit()   文件“ c:\ users \ c94145 \ appdata \ local \ programs \ python \ python37-32 \ lib \ smtplib.py”,行984,退出     res = self.docmd(“退出”)   文件“ c:\ users \ c94145 \ appdata \ local \ programs \ python \ python37-32 \ lib \ smtplib.py”,行420,在docmd中     self.putcmd(cmd,args)   在putcmd中的行367中的文件“ c:\ users \ c94145 \ appdata \ local \ programs \ python \ python37-32 \ lib \ smtplib.py”     自我发送(str)   发送中的文件“ c:\ users \ c94145 \ appdata \ local \ programs \ python \ python37-32 \ lib \ smtplib.py”,行359     提高SMTPServerDisconnected('请先运行connect()') smtplib.SMTPServerDisconnected:请先运行connect()

0 个答案:

没有答案