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