我尝试使用Flask设置heroku应用程序,但我遇到了Flask-Mail问题。
我可以从bash运行我的脚本并且每次都可以运行,但是当我将它推送到Heroku时它会工作一段时间然后停止。以下是该脚本的相关部分:
from flask.ext.mail import Mail
from flask.ext.mail import Message
app.config.update(dict(
DEBUG = True,
MAIL_SERVER = 'smtp.gmail.com',
MAIL_PORT = 465,
MAIL_USE_TLS = False,
MAIL_USE_SSL = True,
MAIL_USERNAME = 'xxx@xxx.com',
MAIL_PASSWORD = 'xxx',
))
mail = Mail(app)
msg = Message(
'Hello',
sender = 'xxx@xxx.com',
recipients = ['xxx@xxx.com'])
msg.body = "This is the email body"
msg.html = '<b>HTML</b> body 1234'
with app.open_resource("image.jpg") as fp:
msg.attach("image.jpg", "image/jpg", fp.read())
@app.route('/test1')
def test1():
with app.app_context():
mail.send(msg)
return "Sent"
我可以去那条路线并发送它,但是如果我再过几分钟再试一次,页面会加载很好,但不会发送任何电子邮件。日志中没有显示错误。
有没有人对如何解决这个问题有任何想法?
答案 0 :(得分:1)
以下配置是我用于heroku的配置。
MAIL_SERVER = 'smtp.gmail.com',
MAIL_PORT = 587,
MAIL_USE_TLS = True,
MAIL_USE_SSL = False,
MAIL_USERNAME = 'my_username@gmail.com',
MAIL_PASSWORD = 'my_password',
答案 1 :(得分:0)
我认为您需要使用Heroku插件(顺便提一下,它可以免费但需要信用卡)。