我正在尝试启动Flask Heroku应用,当用户登录页面时,该应用会发送电子邮件。
我正在尝试使用SendMail,因为Flask-Mail不起作用(它会发送一些电子邮件然后只是......停止,错误日志中没有任何内容)。我正在尝试按照网站上的说明进行操作
from sendgrid import *
sg = sendgrid.SendGridClient('xxxx@heroku.com', 'xxxx', raise_errors = True)
message = sendgrid.Mail(to='xxxx@xxxx.com', subject='Example', html='Body', text='Body', from_email='xxxx@xxxx.com')
status, msg = sg.send(message)
sg.send(message)
但是我抛出了这个错误:
Traceback (most recent call last):
File "mailtest.py", line 7, in <module>
message = sendgrid.Mail(to='xxxx@xxxx.com', subject='Example', html='
Body', text='Body', from_email='xxxx@xxxx.com')
AttributeError: 'module' object has no attribute 'Mail'
该应用程序是最新的,我不知道为什么sendgrid没有mail属性。任何帮助都会很棒。
答案 0 :(得分:1)
你很接近,试试这个:
import sendgrid
from sendgrid import SendGridError, SendGridClientError, SendGridServerError
sg = sendgrid.SendGridClient('xxx@heroku.com', 'xxx')
message = sendgrid.Mail()
message.add_to('Mister Mail <xxx@xxx.com>')
message.set_from('Mrs Mail <xxx@xxxxx.com>')
message.set_subject('Example')
message.set_html('HTML Body')
message.set_text('Text Body')
msg = sg.send(message)
return msg
应该这样做!
答案 1 :(得分:0)
尝试像这样导入sendgrid模块:
import sendgrid