FIX: don't add "Re:" prefix in email subject for first post of group PMs. (#22175)

Previously, it will add a "Re:" prefix to all the emails passing through the group SMTP mailer. It's creating confusion while receiving the mail for the first time on a PM.
This commit is contained in:
Vinoth Kannan 2023-06-19 18:52:00 +05:30 committed by GitHub
parent 57c96ed03d
commit 19133af057
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 1 deletions

View File

@ -40,7 +40,7 @@ class GroupSmtpMailer < ActionMailer::Base
template: "user_notifications.user_posted_pm", template: "user_notifications.user_posted_pm",
use_topic_title_subject: true, use_topic_title_subject: true,
topic_title: op_incoming_email&.subject || post.topic.title, topic_title: op_incoming_email&.subject || post.topic.title,
add_re_to_subject: true, add_re_to_subject: !post.is_first_post?,
locale: SiteSetting.default_locale, locale: SiteSetting.default_locale,
delivery_method_options: delivery_options, delivery_method_options: delivery_options,
from: from_group.smtp_from_address, from: from_group.smtp_from_address,

View File

@ -60,6 +60,28 @@ RSpec.describe GroupSmtpMailer do
SiteSetting.reply_by_email_enabled = true SiteSetting.reply_by_email_enabled = true
end end
it "sends an email for first post when IMAP is disabled" do
staged = Fabricate(:staged)
group.update(imap_enabled: false)
PostCreator.create!(
user,
skip_validations: true,
title: "Hello from John",
archetype: Archetype.private_message,
target_usernames: staged.username,
target_group_names: group.name,
raw: raw,
)
expect(ActionMailer::Base.deliveries.size).to eq(1)
sent_mail = ActionMailer::Base.deliveries[0]
expect(sent_mail.to).to contain_exactly(staged.email)
expect(sent_mail.subject).to eq("Hello from John")
expect(sent_mail.to_s).to include(raw)
end
it "sends an email as reply" do it "sends an email as reply" do
post = PostCreator.create(user, topic_id: receiver.incoming_email.topic.id, raw: raw) post = PostCreator.create(user, topic_id: receiver.incoming_email.topic.id, raw: raw)