我在我的服务器上安装了一个 Sentry 实例,我想将其配置为使用Mandrill及其 Django 集成djrill发送警报电子邮件。sentry.conf.py
这是我正在使用的文件中的相关设置:
EXTRA_INSTALLED_APPS = (
'djrill',
)
EMAIL_BACKEND = 'djrill.mail.backends.djrill.DjrillBackend'
MANDRILL_API_KEY = '[... Mandril API key ...]'
DEFAULT_FROM_EMAIL = 'my-mandrill-allowed@email.address'
SERVER_EMAIL = 'my-mandrill-allowed@email.address'
并且此设置有效,除了由于某种原因 Mandrill 不允许设置Message-Id
标题的部分:
NotSupportedByMandrillError: Invalid message header 'Message-Id' - Mandrill only allows Reply-To and X-* headers
(此异常由 djrill 提出,不是 Mandrill 的回应)
这是由哨兵在这里设置的:
class MessageBuilder(object):
# ...
@cached_property
def message_id(self):
if self.reference is not None:
return email_id_for_model(self.reference)
我已经设法通过编辑该方法使其工作并使其始终返回None
,因此Message-Id
电子邮件中没有设置标题。但我不喜欢编辑/修补第 3 方代码,我不知道其他地方是否需要该标头。
如何正确地做到这一点?从 Mandrill 切换现在不是一种选择。
谢谢!