From fe7b1ca7bdf98f9339e8e9109b84a91703e83f35 Mon Sep 17 00:00:00 2001 From: Shrihari Mahabal Date: Wed, 22 Apr 2026 17:59:48 +0530 Subject: [PATCH] fix: dont show user does not exist error --- frappe/www/login.py | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/frappe/www/login.py b/frappe/www/login.py index 1ab808b4e7..61c5477aaf 100644 --- a/frappe/www/login.py +++ b/frappe/www/login.py @@ -139,21 +139,37 @@ def send_login_link(email: str): if not frappe.get_system_settings("login_with_email_link"): return - expiry = frappe.get_system_settings("login_with_email_link_expiry") or 10 - link = _generate_temporary_login_link(email, expiry) + try: + expiry = frappe.get_system_settings("login_with_email_link_expiry") or 10 + link = _generate_temporary_login_link(email, expiry) - app_name = ( - frappe.get_website_settings("app_name") or frappe.get_system_settings("app_name") or _("Frappe") - ) + app_name = ( + frappe.get_website_settings("app_name") or frappe.get_system_settings("app_name") or _("Frappe") + ) - subject = _("Login To {0}").format(app_name) + subject = _("Login To {0}").format(app_name) - frappe.sendmail( - subject=subject, - recipients=email, - template="login_with_email_link", - args={"link": link, "minutes": expiry, "app_name": app_name}, - now=True, + frappe.sendmail( + subject=subject, + recipients=email, + template="login_with_email_link", + args={"link": link, "minutes": expiry, "app_name": app_name}, + now=True, + ) + except frappe.DoesNotExistError: + frappe.clear_messages() + except frappe.OutgoingEmailError: + frappe.clear_messages() + frappe.log_error(title="Login link email could not be sent", message=frappe.get_traceback()) + except Exception: + frappe.clear_messages() + frappe.log_error(title="Login link generation failed unexpectedly", message=frappe.get_traceback()) + + frappe.msgprint( + msg=_( + "If this email is registered with us, we have sent a login link to it. Please check your inbox." + ), + title=_("Login Link"), )