python - Avoid Mandrill errors with Sentry -


i have installed sentry instance on server, , want configure send alert emails using mandrill , django integration djrill. here's relevant settings in sentry.conf.py file i'm using:

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' 

and setup works, except part reason mandrill doesn't allow setting message-id header:

notsupportedbymandrillerror: invalid message header 'message-id' - mandrill allows reply-to , x-* headers 

(this exception raised djrill, not response mandrill)

which set sentry here:

class messagebuilder(object):     # ...     @cached_property     def message_id(self):         if self.reference not none:             return email_id_for_model(self.reference) 

i have managed make work editing method , make return none, no message-id header set in email. don't edit/patch 3rd party code , have no idea if header needed elsewhere.

how accomplish correctly? switching mandrill not option right now.

thanks!

as can't change sentry's behavior, far can tell, i'd suggest implementing subclass of djrillbackend removes message-id header before messages sent. (untested):

class headerremovingbackend(djrillbackend):     def send_messages(self, email_messages):         message in email_messages:             if 'message-id' in message.extra_headers:                 del message.extra_headers['message-id']         super(headerremovingbackend, self).send_messages(email_messages) 

Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -