aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/exim_log.rb8
1 files changed, 6 insertions, 2 deletions
diff --git a/app/models/exim_log.rb b/app/models/exim_log.rb
index ef9afe317..cbe2277c5 100644
--- a/app/models/exim_log.rb
+++ b/app/models/exim_log.rb
@@ -77,14 +77,18 @@ class EximLog < ActiveRecord::Base
result = {}
f.each do |line|
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]
+ queue_id = extract_queue_id_from_syslog_line(line)
result[queue_id] = [] unless result.has_key?(queue_id)
result[queue_id] = (result[queue_id] + emails).uniq
end
result
end
+ def EximLog.extract_queue_id_from_syslog_line(line)
+ # Assume the log file was written using syslog and parse accordingly
+ SyslogProtocol.parse("<13>" + line).content.match(/^\S+: (\S+):/)[1]
+ end
+
def EximLog.email_addresses_on_line(line)
line.scan(/request-[^\s]+@#{Configuration::incoming_email_domain}/).sort.uniq
end