##// END OF EJS Templates
Ignore emails with "Auto-Submitted: auto-*" header (#11338)....
Jean-Philippe Lang -
r9741:232edc623727
parent child
Show More
@@ -50,8 +50,8 class MailHandler < ActionMailer::Base
50
50
51 cattr_accessor :ignored_emails_headers
51 cattr_accessor :ignored_emails_headers
52 @@ignored_emails_headers = {
52 @@ignored_emails_headers = {
53 'X-Auto-Response-Suppress' => 'OOF',
53 'X-Auto-Response-Suppress' => 'oof',
54 'Auto-Submitted' => 'auto-replied'
54 'Auto-Submitted' => /^auto-/
55 }
55 }
56
56
57 # Processes incoming emails
57 # Processes incoming emails
@@ -69,11 +69,14 class MailHandler < ActionMailer::Base
69 # Ignore auto generated emails
69 # Ignore auto generated emails
70 self.class.ignored_emails_headers.each do |key, ignored_value|
70 self.class.ignored_emails_headers.each do |key, ignored_value|
71 value = email.header[key]
71 value = email.header[key]
72 if value && value.to_s.downcase == ignored_value.downcase
72 if value
73 if logger && logger.info
73 value = value.to_s.downcase
74 logger.info "MailHandler: ignoring email with #{key}:#{value} header"
74 if (ignored_value.is_a?(Regexp) && value.match(ignored_value)) || value == ignored_value
75 if logger && logger.info
76 logger.info "MailHandler: ignoring email with #{key}:#{value} header"
77 end
78 return false
75 end
79 end
76 return false
77 end
80 end
78 end
81 end
79 @user = User.find_by_mail(sender_email) if sender_email.present?
82 @user = User.find_by_mail(sender_email) if sender_email.present?
@@ -382,7 +382,8 class MailHandlerTest < ActiveSupport::TestCase
382 [
382 [
383 "X-Auto-Response-Suppress: OOF",
383 "X-Auto-Response-Suppress: OOF",
384 "Auto-Submitted: auto-replied",
384 "Auto-Submitted: auto-replied",
385 "Auto-Submitted: Auto-Replied"
385 "Auto-Submitted: Auto-Replied",
386 "Auto-Submitted: auto-generated"
386 ].each do |header|
387 ].each do |header|
387 raw = IO.read(File.join(FIXTURES_PATH, 'ticket_on_given_project.eml'))
388 raw = IO.read(File.join(FIXTURES_PATH, 'ticket_on_given_project.eml'))
388 raw = header + "\n" + raw
389 raw = header + "\n" + raw
General Comments 0
You need to be logged in to leave comments. Login now