Django向一些奇怪的“m,m”地址发送电子邮件

时间:2015-02-17 08:54:55

标签: django django-settings

我尝试在settings.py中设置ADMINS变量,以便在500错误时收到电子邮件 我已经阅读了设置文档,并定义了以下内容:

ADMINS = (('{name}', '{email@mycompany.com}'))  
SERVER_EMAIL = '{account name}@localhost'  
ALLOWED_HOSTS = ['.{mycompany}.com']

出于某种原因,我收到一封电子邮件,其中包含" Undeliverable:[Django] ERROR(外部IP):内部服务器错误:"
我注意到在原始邮件标题中,电子邮件被发送到" m,m" ,我没有定义。

知道那可能是什么吗?

谢谢!
亚历

1 个答案:

答案 0 :(得分:1)

诀窍是Django期待ADMINS中的元组元组,但实际上你只给出了一个元组:外部括号实际上被忽略了,因为在Python中它不是定义元组的parens,而是逗号

mail_admins函数中的代码尝试通过执行[a[1] for a in settings.ADMINS]从设置中提取电子邮件,因此在您的情况下,它将使用名称的第二个字母和电子邮件地址的第二个字母 - 可能是这两个字母碰巧是" m"。

请改为:

ADMINS = (('{name}', '{email@mycompany.com}'),)

请注意最终关闭前的额外逗号。