From 3067c2ed3bd377d00cb6a31bbd61fcd6def5d45b Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Tue, 25 Jun 2013 11:35:26 -0400 Subject: [PATCH] Private messages have instructions for reply by email. We also strip X-Discourse headers before sending the message as they are no longer needed. --- app/mailers/user_notifications.rb | 4 +++- config/locales/server.en.yml | 2 +- lib/email/sender.rb | 12 +++++++++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/app/mailers/user_notifications.rb b/app/mailers/user_notifications.rb index 7e18c78fc55..7019b396b39 100644 --- a/app/mailers/user_notifications.rb +++ b/app/mailers/user_notifications.rb @@ -39,7 +39,9 @@ class UserNotifications < ActionMailer::Base private_message_from: post.user.name, from_alias: I18n.t(:via, username: post.user.name, site_name: SiteSetting.title), add_unsubscribe_link: true, - allow_reply_by_email: true + allow_reply_by_email: true, + post_id: post.id, + topic_id: post.topic_id end def digest(user, opts={}) diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 097d873dc26..daea018faf9 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -973,7 +973,7 @@ en: %{message} --- - Please visit this link to respond: %{base_url}%{url} + %{respond_instructions} forgot_password: subject_template: "[%{site_name}] Password reset" diff --git a/lib/email/sender.rb b/lib/email/sender.rb index 2e245f2d48a..389fc73dad9 100644 --- a/lib/email/sender.rb +++ b/lib/email/sender.rb @@ -37,20 +37,26 @@ module Email end @message.text_part.content_type = 'text/plain; charset=UTF-8' - @message.deliver + # Set up the email log to_address = @message.to to_address = to_address.first if to_address.is_a?(Array) - email_log = EmailLog.new(email_type: @email_type, to_address: to_address, user_id: @user.try(:id)) - email_log.post_id = @messager add_header_to_log('X-Discourse-Reply-Key', email_log, :reply_key) add_header_to_log('X-Discourse-Post-Id', email_log, :post_id) add_header_to_log('X-Discourse-Topic-Id', email_log, :topic_id) + # Remove headers we don't need anymore + @message.header['X-Discourse-Topic-Id'] = nil + @message.header['X-Discourse-Post-Id'] = nil + @message.header['X-Discourse-Reply-Key'] = nil + + @message.deliver + + # Save and return the email log email_log.save! email_log