From 66ac92aab65547fcaca4e553dd4e70a20d88f162 Mon Sep 17 00:00:00 2001 From: barredterra <14891507+barredterra@users.noreply.github.com> Date: Sat, 25 Nov 2023 17:07:15 +0100 Subject: [PATCH] fix: skip invalid email addresses ... while adding members to Email Group --- frappe/email/doctype/email_group/email_group.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/frappe/email/doctype/email_group/email_group.py b/frappe/email/doctype/email_group/email_group.py index c866beebee..f365fa2fb6 100755 --- a/frappe/email/doctype/email_group/email_group.py +++ b/frappe/email/doctype/email_group/email_group.py @@ -1,6 +1,8 @@ # Copyright (c) 2015, Frappe Technologies and contributors # License: MIT. See LICENSE +import contextlib + import frappe from frappe import _ from frappe.model.document import Document @@ -41,7 +43,7 @@ class EmailGroup(Document): added = 0 for user in frappe.get_all(doctype, [email_field, unsubscribed_field or "name"]): - try: + with contextlib.suppress(frappe.UniqueValidationError, frappe.InvalidEmailAddressError): email = parse_addr(user.get(email_field))[1] if user.get(email_field) else None if email: frappe.get_doc( @@ -52,10 +54,7 @@ class EmailGroup(Document): "unsubscribed": user.get(unsubscribed_field) if unsubscribed_field else 0, } ).insert(ignore_permissions=True) - added += 1 - except frappe.UniqueValidationError: - pass frappe.msgprint(_("{0} subscribers added").format(added))