From 669e78e072bbf8eda7092227ae17047656a9b59a Mon Sep 17 00:00:00 2001 From: Yurii Date: Fri, 27 Feb 2026 15:03:40 +0200 Subject: [PATCH] fix email address escaped --- .../email/fields/from-address-varchar.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/client/src/views/email/fields/from-address-varchar.js b/client/src/views/email/fields/from-address-varchar.js index 4ab6cd8d0f..f86c38559f 100644 --- a/client/src/views/email/fields/from-address-varchar.js +++ b/client/src/views/email/fields/from-address-varchar.js @@ -385,6 +385,8 @@ class EmailFromAddressVarchar extends BaseFieldView { */ createPerson(scope, address) { const fromString = this.model.get('fromString') || this.model.get('fromName'); + + /** @type {string|null} */ let name = this.nameHash[address] || null; if (!name && this.name === 'from' && fromString) { @@ -394,7 +396,7 @@ class EmailFromAddressVarchar extends BaseFieldView { } if (name) { - name = this.getHelper().escapeString(name); + name = EmailFromAddressVarchar.stripQuotesFromName(name); } const attributes = { @@ -465,7 +467,7 @@ class EmailFromAddressVarchar extends BaseFieldView { } if (name) { - name = this.getHelper().escapeString(name); + name = EmailFromAddressVarchar.stripQuotesFromName(name); } const attributes = { @@ -558,6 +560,19 @@ class EmailFromAddressVarchar extends BaseFieldView { Espo.Ui.notify(); } + /** + * @private + * @param {string} name + * @return {string} + */ + static stripQuotesFromName(name) { + if (name && /^(['"]).*\1$/.test(name)) { + name = name.substring(1, name.length - 1); + } + + return name; + } + fetchSearch() { const value = this.$element.val().trim();