Skip to content

Commit

Permalink
Use event recipient address to find partners and contacts to bounce (O…
Browse files Browse the repository at this point in the history
  • Loading branch information
antespi authored and cubells committed Jan 3, 2017
1 parent 667fd13 commit bdf1e53
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ def _compute_email_score(self):
email_score_from_email(contact.email)

@api.multi
def email_bounced_set(self, tracking_email, reason):
return self.write({'email_bounced': True})
def email_bounced_set(self, tracking_emails, reason, event=None):
contacts = self.filtered(lambda r: not r.email_bounced)
return contacts.write({'email_bounced': True})

@api.multi
def write(self, vals):
Expand Down
13 changes: 9 additions & 4 deletions mail_tracking_mass_mailing/models/mail_tracking_email.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,16 @@ def create(self, vals):
return tracking

@api.multi
def _contacts_email_bounced_set(self, reason):
for tracking_email in self:
def _contacts_email_bounced_set(self, reason, event=None):
recipients = []
if event and event.recipient_address:
recipients.append(event.recipient_address)
else:
recipients = list(filter(None, self.mapped('recipient_address')))
for recipient in recipients:
self.env['mail.mass_mailing.contact'].search([
('email', '=ilike', tracking_email.recipient_address)
]).email_bounced_set(tracking_email, reason)
('email', '=ilike', recipient)
]).email_bounced_set(self, reason, event=event)

@api.multi
def smtp_error(self, mail_server, smtp_server, exception):
Expand Down

0 comments on commit bdf1e53

Please sign in to comment.