From 2ec893278afd338c5e821319a3a9a4beea7b616d Mon Sep 17 00:00:00 2001 From: Sabu Siyad Date: Sun, 14 May 2023 17:29:38 +0530 Subject: [PATCH] fix: email: get unsub email: use `cstr` instead of `encode` (#20985) `encode` fails if reference name is an integer. use `cstr` instead which use `as_unicode` under the hood --- frappe/email/queue.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frappe/email/queue.py b/frappe/email/queue.py index ea975b532b..7d4b92baf1 100755 --- a/frappe/email/queue.py +++ b/frappe/email/queue.py @@ -3,7 +3,7 @@ import frappe from frappe import _, msgprint -from frappe.utils import cint, get_url, now_datetime +from frappe.utils import cint, cstr, get_url, now_datetime from frappe.utils.data import getdate from frappe.utils.verified_command import get_signed_params, verify_request @@ -81,9 +81,9 @@ def get_unsubcribed_url( reference_doctype, reference_name, email, unsubscribe_method, unsubscribe_params ): params = { - "email": email.encode("utf-8"), - "doctype": reference_doctype.encode("utf-8"), - "name": reference_name.encode("utf-8"), + "email": cstr(email), + "doctype": cstr(reference_doctype), + "name": cstr(reference_name), } if unsubscribe_params: params.update(unsubscribe_params)