mirror of https://github.com/OCA/social.git
Fix mail tracking bounce notification not logged
This is to resolve the following issue: * https://github.com/OCA/social/issues/1121pull/1367/head
parent
1260333caf
commit
4d6d8cbb17
|
@ -7,7 +7,7 @@
|
|||
{
|
||||
"name": "Email tracking",
|
||||
"summary": "Email tracking system for all mails sent",
|
||||
"version": "15.0.2.0.2",
|
||||
"version": "15.0.2.0.3",
|
||||
"category": "Social Network",
|
||||
"website": "https://github.com/OCA/social",
|
||||
"author": ("Tecnativa, " "Odoo Community Association (OCA)"),
|
||||
|
|
|
@ -44,6 +44,13 @@ class MailThread(models.AbstractModel):
|
|||
)
|
||||
return super()._message_route_process(message, message_dict, routes)
|
||||
|
||||
def _routing_handle_bounce(self, email_message, message_dict):
|
||||
bounced_message = message_dict["bounced_message"]
|
||||
if bounced_message.mail_tracking_ids:
|
||||
# TODO detect hard of soft bounce
|
||||
bounced_message.mail_tracking_ids.event_create("soft_bounce", message_dict)
|
||||
return super()._routing_handle_bounce(email_message, message_dict)
|
||||
|
||||
def _message_get_suggested_recipients(self):
|
||||
"""Adds email 'extra' recipients as suggested recipients.
|
||||
|
||||
|
|
|
@ -590,3 +590,34 @@ class TestMailTracking(TransactionCase):
|
|||
self.assertEqual(b"NONE", none.response[0])
|
||||
none = controller.mail_tracking_event(db, "open")
|
||||
self.assertEqual(b"NONE", none.response[0])
|
||||
|
||||
def test_bounce_tracking_event_created(self):
|
||||
mail, tracking = self.mail_send(self.recipient.email)
|
||||
message = self.env.ref("mail.mail_message_channel_1_1")
|
||||
message.mail_tracking_ids = [(4, tracking.id, False)]
|
||||
mail.mail_message_id = message
|
||||
message_dict = {
|
||||
"bounced_email": "test@test.net",
|
||||
"bounced_message": message,
|
||||
"bounced_msg_id": [message.message_id],
|
||||
"bounced_partner": self.recipient,
|
||||
"cc": "",
|
||||
"date": "2023-02-07 12:35:53",
|
||||
"email_from": "MAILER-DAEMON@eu-west-1.amazonses.com",
|
||||
"from": "MAILER-DAEMON@eu-west-1.amazonses.com",
|
||||
"in_reply_to": "<010201864d109aa7-west-1.amazonses.com>",
|
||||
"is_internal": False,
|
||||
"message_id": "<010201862be01f29-west-1.amazonses.com>",
|
||||
"message_type": "email",
|
||||
"parent_id": 15894917,
|
||||
"partner_ids": [],
|
||||
"recipients": "bounce+694942@recipient.net",
|
||||
"references": "<010201862bdfa5e9-west-1.amazonses.com>",
|
||||
"subject": "bounce notification",
|
||||
"to": "bounce+694942-mailing.contact-836@test.net",
|
||||
}
|
||||
self.env["mail.thread"]._routing_handle_bounce(message, message_dict)
|
||||
self.assertTrue(
|
||||
"soft_bounce"
|
||||
in message.mail_tracking_ids.tracking_event_ids.mapped("event_type")
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue