summaryrefslogtreecommitdiff
path: root/app/mailers
diff options
context:
space:
mode:
authorMaximiliano Perez Coto <maxi@assembla.com>2016-07-13 20:56:54 -0300
committerRémy Coutable <remy@rymai.me>2016-09-20 09:52:57 +0200
commitb335730817e096bb4c68e5e4a4a2a3ec29b25243 (patch)
tree58e66bb4c97f139d68def7183fb7089166c5670f /app/mailers
parent95b9421ad3b2678da6e0af0131eafd52cdd0b2a5 (diff)
downloadgitlab-ce-b335730817e096bb4c68e5e4a4a2a3ec29b25243.tar.gz
Fix "Unsubscribe" link in notification emails that is triggered by anti-virus
* Created a force=true param that will continue with the previous behaviour of the unsubscribe method * Created a filter for not-logged users so they see a unsubsribe confirmation page * Added the List-Unsubscribe header on emails so the email client can display it on top
Diffstat (limited to 'app/mailers')
-rw-r--r--app/mailers/notify.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb
index 0cc709f68e4..9799f1dc886 100644
--- a/app/mailers/notify.rb
+++ b/app/mailers/notify.rb
@@ -108,6 +108,12 @@ class Notify < BaseMailer
headers["X-GitLab-#{model.class.name}-ID"] = model.id
headers['X-GitLab-Reply-Key'] = reply_key
+ if !@labels_url && @sent_notification && @sent_notification.unsubscribable?
+ headers['List-Unsubscribe'] = unsubscribe_sent_notification_url(@sent_notification, force: true)
+
+ @sent_notification_url = unsubscribe_sent_notification_url(@sent_notification)
+ end
+
if Gitlab::IncomingEmail.enabled?
address = Mail::Address.new(Gitlab::IncomingEmail.reply_address(reply_key))
address.display_name = @project.name_with_namespace