diff --git a/app/mailers/conversation_reply_mailer.rb b/app/mailers/conversation_reply_mailer.rb index f24bc46bb..5c44d622f 100644 --- a/app/mailers/conversation_reply_mailer.rb +++ b/app/mailers/conversation_reply_mailer.rb @@ -35,7 +35,6 @@ class ConversationReplyMailer < ApplicationMailer init_conversation_attributes(message.conversation) @message = message reply_mail_object = prepare_mail(true) - message.update(source_id: reply_mail_object.message_id) end @@ -115,6 +114,14 @@ class ConversationReplyMailer < ApplicationMailer end end + def channel_email_with_name + if @conversation.assignee.present? + I18n.t('conversations.reply.channel_email.header.reply_with_name', assignee_name: assignee_name, from_email: @channel.email) + else + I18n.t('conversations.reply.channel_email.header.reply_with_inbox_name', inbox_name: @inbox.name, from_email: @channel.email) + end + end + def parse_email(email_string) Mail::Address.new(email_string).address end diff --git a/app/mailers/conversation_reply_mailer_helper.rb b/app/mailers/conversation_reply_mailer_helper.rb index 866fc2c85..9c006e8ed 100644 --- a/app/mailers/conversation_reply_mailer_helper.rb +++ b/app/mailers/conversation_reply_mailer_helper.rb @@ -72,7 +72,7 @@ module ConversationReplyMailerHelper end def email_from - email_microsoft_auth_enabled || email_smtp_enabled ? @channel.email : from_email_with_name + email_microsoft_auth_enabled || email_smtp_enabled ? channel_email_with_name : from_email_with_name end def email_reply_to diff --git a/config/locales/en.yml b/config/locales/en.yml index be8904057..55ad1dc18 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -147,6 +147,10 @@ en: header: from_with_name: '%{assignee_name} from %{inbox_name} <%{from_email}>' reply_with_name: '%{assignee_name} from %{inbox_name} ' + channel_email: + header: + reply_with_name: '%{assignee_name} from <%{from_email}>' + reply_with_inbox_name: '%{inbox_name} <%{from_email}>' email_subject: "New messages on this conversation" transcript_subject: "Conversation Transcript" survey: diff --git a/spec/mailers/conversation_reply_mailer_spec.rb b/spec/mailers/conversation_reply_mailer_spec.rb index bc89a0aa7..df0e34fd4 100644 --- a/spec/mailers/conversation_reply_mailer_spec.rb +++ b/spec/mailers/conversation_reply_mailer_spec.rb @@ -168,6 +168,17 @@ RSpec.describe ConversationReplyMailer, type: :mailer do expect(mail.delivery_method.settings[:address]).to eq 'smtp.gmail.com' expect(mail.delivery_method.settings[:port]).to eq 587 end + + it 'renders assignee name in the from address' do + mail = described_class.email_reply(message) + expect(mail['from'].value).to eq "#{conversation.assignee.available_name} from <#{smtp_email_channel.email}>" + end + + it 'renders inbox name in the from address' do + conversation.update(assignee: nil) + mail = described_class.email_reply(message) + expect(mail['from'].value).to eq "#{smtp_email_channel.inbox.name} <#{smtp_email_channel.email}>" + end end context 'when smtp enabled for microsoft email channel' do