diff options
author | Maximiliano Perez Coto <maxi@assembla.com> | 2016-07-13 20:56:54 -0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-09-20 09:52:57 +0200 |
commit | b335730817e096bb4c68e5e4a4a2a3ec29b25243 (patch) | |
tree | 58e66bb4c97f139d68def7183fb7089166c5670f /app/mailers | |
parent | 95b9421ad3b2678da6e0af0131eafd52cdd0b2a5 (diff) | |
download | gitlab-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.rb | 6 |
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 |