summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2015-03-25 20:17:24 -0700
committerStan Hu <stanhu@gmail.com>2015-04-03 06:47:54 -0700
commit81a5a9713d69c738912d27cb10e74577aa4f4978 (patch)
tree4a2379fbf18354765504595bf5c783c623f1cce8
parent2a0d38c03fa20979a92597fdff18989c2b8e106b (diff)
downloadgitlab-ce-81a5a9713d69c738912d27cb10e74577aa4f4978.tar.gz
Add ability to configure Reply-To address in gitlab.yml
Closes #1305
-rw-r--r--CHANGELOG1
-rw-r--r--app/mailers/notify.rb2
-rw-r--r--config/gitlab.yml.example1
-rw-r--r--config/initializers/1_settings.rb1
-rw-r--r--spec/mailers/notify_spec.rb8
5 files changed, 12 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 259e1a30072..1810d20117b 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
Please view this file on the master branch, on stable branches it's out of date.
v 7.10.0 (unreleased)
+ - Add ability to configure Reply-To address in gitlab.yml (Stan Hu)
- Fix broken side-by-side diff view on merge request page (Stan Hu)
- Set Application controller default URL options to ensure all url_for calls are consistent (Stan Hu)
- Allow HTML tags in Markdown input
diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb
index 8fcdd3bc853..0c186ab5866 100644
--- a/app/mailers/notify.rb
+++ b/app/mailers/notify.rb
@@ -19,7 +19,7 @@ class Notify < ActionMailer::Base
default_url_options[:script_name] = Gitlab.config.gitlab.relative_url_root
default from: Proc.new { default_sender_address.format }
- default reply_to: "noreply@#{Gitlab.config.gitlab.host}"
+ default reply_to: Gitlab.config.gitlab.email_reply_to
# Just send email with 2 seconds delay
def self.delay
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index 760a589d6e2..3d91b67e748 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -49,6 +49,7 @@ production: &base
# Email address used in the "From" field in mails sent by GitLab
email_from: example@example.com
email_display_name: GitLab
+ email_reply_to: noreply@example.com
# Email server smtp settings are in config/initializers/smtp_settings.rb.sample
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 15c1ae9466f..fb2dddf2c99 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -103,6 +103,7 @@ Settings.gitlab['protocol'] ||= Settings.gitlab.https ? "https" : "http"
Settings.gitlab['email_enabled'] ||= true if Settings.gitlab['email_enabled'].nil?
Settings.gitlab['email_from'] ||= "gitlab@#{Settings.gitlab.host}"
Settings.gitlab['email_display_name'] ||= "GitLab"
+Settings.gitlab['email_reply_to'] ||= "noreply@#{Settings.gitlab.host}"
Settings.gitlab['url'] ||= Settings.send(:build_gitlab_url)
Settings.gitlab['user'] ||= 'git'
Settings.gitlab['user_home'] ||= begin
diff --git a/spec/mailers/notify_spec.rb b/spec/mailers/notify_spec.rb
index ba42f9e5c70..7c4235ab379 100644
--- a/spec/mailers/notify_spec.rb
+++ b/spec/mailers/notify_spec.rb
@@ -7,9 +7,12 @@ describe Notify do
let(:gitlab_sender_display_name) { Gitlab.config.gitlab.email_display_name }
let(:gitlab_sender) { Gitlab.config.gitlab.email_from }
+ let(:gitlab_sender_reply_to) { Gitlab.config.gitlab.email_reply_to }
let(:recipient) { create(:user, email: 'recipient@example.com') }
let(:project) { create(:project) }
+ around(:each) { ActionMailer::Base.deliveries.clear }
+
before(:each) do
email = recipient.emails.create(email: "notifications@example.com")
recipient.update_attribute(:notification_email, email.email)
@@ -27,6 +30,11 @@ describe Notify do
expect(sender.display_name).to eq(gitlab_sender_display_name)
expect(sender.address).to eq(gitlab_sender)
end
+
+ it 'has a Reply-To address' do
+ reply_to = subject.header[:reply_to].addresses
+ expect(reply_to).to eq([gitlab_sender_reply_to])
+ end
end
shared_examples 'an email starting a new thread' do |message_id_prefix|