问候,
有谁知道发生“500 内部服务器错误”时让 Django 发送电子邮件的必填字段是什么?我在 Dreamhost 上托管我的项目,而在我的一生中,我无法让 Django 发送电子邮件。在 Dreamhost 上托管时需要哪些字段?
根据 S.Mark 的建议,您可以使用 gmail。这是您在 settings.py 中需要的内容
ADMINS = (
('Your Name', 'your_name@email.com'),
)
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_PASSWORD = 'password'
EMAIL_HOST_USER = 'gmail_account'
EMAIL_SUBJECT_PREFIX = 'something'
EMAIL_USE_TLS = True
是的,我在 Dreamhost 上也一样,但我使用 gmail 发送电子邮件,如以下示例代码
import smtplib
m = smtplib.SMTP("smtp.gmail.com", 587)
m.ehlo()
m.starttls()
m.ehlo()
m.login(USERNAME, PASSWD)
m.sendmail(user, to, "From: %s\nTo: %s\n\nHello World!"%(USERNAME,TOADDR))
m.close()
您是否在任何地方设置了 SMTP 服务器?正如人们在这里所建议的那样,您可以轻松使用 gmail,但绝不限于仅使用 Gmail 的 SMTP 服务器。如果您愿意,您可以在自己的硬件上创建自己的,或者您可以使用许多免费的 SMTP 服务器。我想说最有趣的是设置自己的盒子并制作自己的 SMTP 服务器;)
我们似乎在此 gmail 工作中发现的一个问题是,如果您尝试通过从 gmail 帐户发送到转发回同一 gmail 的 dreamhost 电子邮件进行测试,则该消息将被丢弃。这可能是 Dreamhost 具有的一些奇怪的安全“功能”。
尝试使用:
EMAIL_HOST = "localhost"
而不是DNS解析...