I'm getting the following error when I attempt to use flask-mail to send an email through my gmail account.
error: [Errno 10061] No connection could be made because the target machine actively refused it
I've tried configuring flask-mail in various ways, but so far I always get this error.
Here are some sample configurations I've tried:
app = Flask(__name__)
mail = Mail(app)
app.config.update(dict(
DEBUG = True,
MAIL_SERVER = 'smtp.gmail.com',
MAIL_PORT = 465,
MAIL_USE_TLS = False,
MAIL_USE_SSL = True,
MAIL_USERNAME = '[email protected]',
MAIL_PASSWORD = 'my_password',
))
app = Flask(__name__)
mail = Mail(app)
app.config.update(dict(
DEBUG = True,
MAIL_SERVER = 'smtp.gmail.com',
MAIL_PORT = 587,
MAIL_USE_TLS = True,
MAIL_USE_SSL = False,
MAIL_USERNAME = '[email protected]',
MAIL_PASSWORD = 'my_password',
))
This configuration is from the flask mega-tutorial (http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xi-email-support)
app = Flask(__name__)
mail = Mail(app)
app.config.update(dict(
DEBUG = True,
# email server
MAIL_SERVER = 'smtp.googlemail.com',
MAIL_PORT = 465,
MAIL_USE_TLS = False,
MAIL_USE_SSL = True,
MAIL_USERNAME = 'my_username',
MAIL_PASSWORD = 'my_password',
# administrator list
ADMINS = ['[email protected]']
))
Has anyone else experienced a similar problem?
As far as I can tell there is nothing wrong with this configuration. The only problem is that your application is not using it. You should update configuration before you initialize Mail
:
app = Flask(__name__)
app.config.update(dict(
DEBUG = True,
MAIL_SERVER = 'smtp.gmail.com',
MAIL_PORT = 587,
MAIL_USE_TLS = True,
MAIL_USE_SSL = False,
MAIL_USERNAME = '[email protected]',
MAIL_PASSWORD = 'my_password',
))
mail = Mail(app)