【发布时间】:2015-01-15 20:43:06
【问题描述】:
我正在尝试使用 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"
我可以转到该路线并将其发送,但如果我在几分钟后再试一次,页面将正常加载,但不会发送任何电子邮件。日志中没有显示错误。
有人对如何解决这个问题有任何想法吗?
【问题讨论】:
-
检查您的服务器日志,Gmail 会发送一个 OAuth 链接,您应该按照该链接从 Heroku 堆栈授权登录尝试。