23

我正在 Heroku 上部署一个 Django 应用程序,并在用户在网站上注册时使用 Sendgrid 插件发送验证电子邮件。

我按照此处的说明将以下内容粘贴到settings.py

EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'sendgrid_username'
EMAIL_HOST_PASSWORD = 'sendgrid_password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

但是,我的应用在注册后崩溃了。

我到底应该为EMAIL_HOST_USERandEMAIL_HOST_PASSWORD做什么?

在 heroku 的 sendgrid 插件中的开发人员选项卡下,它给了我 username app*******@heroku.com,而对于密码,它只显示“您的密码”。密码是我的 Heroku 密码吗?

另外,我需要包含DEFAULT_FROM_EMAIL在我的settings.py文件中吗?我在哪里告诉 Sendgrid 它是什么?

编辑:我已经设置DEBUG = True,看起来错误是:

SMTPSenderRefused

(550, 'Cannot receive from specified address <info@myapp.com>: Unauthenticated senders not allowed', 'info@myapp.com')

看起来问题在 Sendgrid 做它的事情之前就已经发生了。我是否需要以某种方式使用 Heroku 验证电子邮件地址?

4

1 回答 1

39

在您的 settings.py 中包括:

import os
EMAIL_HOST_USER = os.environ['SENDGRID_USERNAME']
EMAIL_HOST= 'smtp.sendgrid.net'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_PASSWORD = os.environ['SENDGRID_PASSWORD']

编辑:将 EMAIL_PASSWORD 更改为 EMAIL_HOST_PASSWORD 因为这是正确的拼写。

于 2012-03-15T16:45:01.957 回答