diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-04-13 16:55:04 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-04-13 16:55:04 +0000 |
commit | 4edc30d157b06be04b51474ab23be9dd3855b56e (patch) | |
tree | 77ada579f4d326b633927973b0cf42f081b5598b /app | |
parent | dd8d8e0560d9bef18da084cd299be4b246f6ed61 (diff) | |
download | redmine-4edc30d157b06be04b51474ab23be9dd3855b56e.tar.gz redmine-4edc30d157b06be04b51474ab23be9dd3855b56e.zip |
Ignore emails with Auto-Submitted: auto-replied header (#10607).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9390 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r-- | app/models/mail_handler.rb | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/app/models/mail_handler.rb b/app/models/mail_handler.rb index e0c12f1a0..e920dbd5f 100644 --- a/app/models/mail_handler.rb +++ b/app/models/mail_handler.rb @@ -42,6 +42,12 @@ class MailHandler < ActionMailer::Base super email end + cattr_accessor :ignored_emails_headers + @@ignored_emails_headers = { + 'X-Auto-Response-Suppress' => 'OOF', + 'Auto-Submitted' => 'auto-replied' + } + # Processes incoming emails # Returns the created object (eg. an issue, a message) or false def receive(email) @@ -54,12 +60,15 @@ class MailHandler < ActionMailer::Base end return false end - # Ignore out-of-office emails - if email.header_string("X-Auto-Response-Suppress") == 'OOF' - if logger && logger.info - logger.info "MailHandler: ignoring out-of-office email" + # Ignore auto generated emails + self.class.ignored_emails_headers.each do |key, ignored_value| + value = email.header_string(key) + if value && value.to_s.downcase == ignored_value.downcase + if logger && logger.info + logger.info "MailHandler: ignoring email with #{key}:#{value} header" + end + return false end - return false end @user = User.find_by_mail(sender_email) if sender_email.present? if @user && !@user.active? |