Sendgrid没有属性' Mail'

时间:2015-01-15 19:07:59

标签: python email heroku

我正在尝试启动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属性。任何帮助都会很棒。

2 个答案:

答案 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