diff --git a/frappe/email/doctype/email_account/email_account.py b/frappe/email/doctype/email_account/email_account.py index bffccfd07f..aac4a97587 100755 --- a/frappe/email/doctype/email_account/email_account.py +++ b/frappe/email/doctype/email_account/email_account.py @@ -599,10 +599,15 @@ class EmailAccount(Document): frappe.db.rollback() except Exception: frappe.db.rollback() - self.log_error(title="EmailAccount.receive") - if self.use_imap: - self.handle_bad_emails(mail.uid, mail.raw_message, frappe.get_traceback()) - exceptions.append(frappe.get_traceback()) + try: + self.log_error(title="EmailAccount.receive") + if self.use_imap: + self.handle_bad_emails(mail.uid, mail.raw_message, frappe.get_traceback()) + exceptions.append(frappe.get_traceback()) + except Exception: + frappe.db.rollback() + else: + frappe.db.commit() else: frappe.db.commit()