diff options
-rw-r--r-- | app/models/exim_log.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/app/models/exim_log.rb b/app/models/exim_log.rb index e7f4a4e8d..ef9afe317 100644 --- a/app/models/exim_log.rb +++ b/app/models/exim_log.rb @@ -61,8 +61,7 @@ class EximLog < ActiveRecord::Base order = 0 f.each do |line| order = order + 1 - email_domain = Configuration::incoming_email_domain - emails = line.scan(/request-[^\s]+@#{email_domain}/).sort.uniq + emails = email_addresses_on_line(line) for email in emails info_request = InfoRequest.find_by_incoming_email(email) if info_request @@ -77,8 +76,7 @@ class EximLog < ActiveRecord::Base def EximLog.scan_for_postfix_queue_ids(f) result = {} f.each do |line| - email_domain = Configuration::incoming_email_domain - emails = line.scan(/request-[^\s]+@#{email_domain}/).sort.uniq + emails = email_addresses_on_line(line) # Assume the log file was written using syslog and parse accordingly queue_id = SyslogProtocol.parse("<13>" + line).content.match(/^\S+: (\S+):/)[1] result[queue_id] = [] unless result.has_key?(queue_id) @@ -87,6 +85,10 @@ class EximLog < ActiveRecord::Base result end + def EximLog.email_addresses_on_line(line) + line.scan(/request-[^\s]+@#{Configuration::incoming_email_domain}/).sort.uniq + end + # Check that the last day of requests has been sent in Exim and we got the # lines. Writes any errors to STDERR. This check is really mainly to # check the envelope from is the request address, as Ruby is quite |