diff --git a/tine20/Felamimail/js/ContactSearchCombo.js b/tine20/Felamimail/js/ContactSearchCombo.js index 1e0dfc76a99..a2f210e2396 100644 --- a/tine20/Felamimail/js/ContactSearchCombo.js +++ b/tine20/Felamimail/js/ContactSearchCombo.js @@ -67,7 +67,7 @@ Tine.Felamimail.ContactSearchCombo = Ext.extend(Tine.Addressbook.SearchCombo, { let value = _.get(values, field) ?? ''; if (field === 'email' && value !== '') { - value = `( ${value} )`; + value = `<${value}>`; } return Ext.util.Format.htmlEncode(value); diff --git a/tine20/Felamimail/js/MessageEditDialog.js b/tine20/Felamimail/js/MessageEditDialog.js index 0a4fcbb787d..8caa2c69a65 100644 --- a/tine20/Felamimail/js/MessageEditDialog.js +++ b/tine20/Felamimail/js/MessageEditDialog.js @@ -820,19 +820,27 @@ Tine.Felamimail.MessageEditDialog = Ext.extend(Tine.widgets.dialog.EditDialog, { initReplyRecipients: async function () { // should resolve recipients here , save data const replyTo = this.replyTo.get('headers')['reply-to']; - + if (replyTo) { this.to = replyTo; } else { - const toEmail = this.replyTo.get('from_email'); - const toName = this.replyTo.get('from_name'); - this.to = (toName && toName !== toEmail) ? `${toName} <${toEmail}>` : toEmail; + const email = this.replyTo.get('from_email'); + const name = this.replyTo.get('from_name'); + this.to = [{ + 'email': email ?? '', + 'email_type': '', + 'type': '', + 'n_fileas': '', + 'name': name !== email ? name : '', + 'record_id': '' + }]; + // we might get the recipient token from server if (this.replyTo.get('from')) { this.to = this.replyTo.get('from'); } } - + if (this.replyToAll) { if (!Ext.isArray(this.to)) { this.to = [this.to]; diff --git a/tine20/Felamimail/js/RecipientGrid.js b/tine20/Felamimail/js/RecipientGrid.js index 98ce3f3b1de..a04b4090db8 100644 --- a/tine20/Felamimail/js/RecipientGrid.js +++ b/tine20/Felamimail/js/RecipientGrid.js @@ -348,13 +348,14 @@ Tine.Felamimail.RecipientGrid = Ext.extend(Ext.grid.EditorGridPanel, { return ''; } - const renderEmail = values.email !== '' && values.name !== '' ? ` < ${values.email} >` : values.email; + const renderEmail = values.email !== '' && values.name !== '' ? ` <${values.email}>` : values.email; const iconCls = this.searchCombo.resolveAddressIconCls(values); const note = values?.note && values.note !== '' ? `( ${values.note} )` : ''; return iconCls + '' - + '' + Ext.util.Format.htmlEncode(`${values.name}${renderEmail}`) + '' + + Ext.util.Format.htmlEncode(`${values.name}`) + + '' + Ext.util.Format.htmlEncode(`${renderEmail}`) + '' + ' ' + Ext.util.Format.htmlEncode(note) + '' + '';