Django 将电子邮件发送到一些奇怪的 "m, m" 地址

Django sends email to some weird "m, m" address

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

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

出于某种原因,我收到一封包含 "Undeliverable: [Django] ERROR (EXTERNAL IP): Internal Server Error:"
的电子邮件 我注意到在原始消息 headers 中,电子邮件被发送到我没有定义的 "m, m"

知道那是什么吗?

谢谢!
亚历克斯

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

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

改为这样做:

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

请注意最后一个右括号前的额外逗号。