From 886c718e123d4e5785b1994233045797826acc3c Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Tue, 8 Oct 2019 09:19:04 +0200 Subject: [PATCH] No timestamp of unprocessable mail to prevent double import of mails. Follow up if issue #2092. --- app/models/channel/email_parser.rb | 9 ++++----- test/integration/email_postmaster_to_sender.rb | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/models/channel/email_parser.rb b/app/models/channel/email_parser.rb index c516cf75e..5ab3ecee4 100644 --- a/app/models/channel/email_parser.rb +++ b/app/models/channel/email_parser.rb @@ -488,7 +488,7 @@ process unprocessable_mails (tmp/unprocessable_mail/*.eml) again =begin process oversized emails by: - 1. Archiving the oversized mail as tmp/oversized_mail/timestamp_md5.eml + 1. Archiving the oversized mail as tmp/oversized_mail/md5.eml 2. Reply with a postmaster message to inform the sender =end @@ -796,15 +796,14 @@ process unprocessable_mails (tmp/unprocessable_mail/*.eml) again [attach] end - # Archive the given message as tmp/folder/timestamp_md5.eml + # Archive the given message as tmp/folder/md5.eml def archive_mail(folder, msg) path = Rails.root.join('tmp', folder) FileUtils.mkpath path - # MD5 hash the msg and save it as "timestamp_md5.eml" + # MD5 hash the msg and save it as "md5.eml" md5 = Digest::MD5.hexdigest(msg) - filename = "#{Time.zone.now.iso8601}_#{md5}.eml" - file_path = Rails.root.join('tmp', folder, filename) + file_path = Rails.root.join('tmp', folder, "#{md5}.eml") File.open(file_path, 'wb') do |file| file.write msg diff --git a/test/integration/email_postmaster_to_sender.rb b/test/integration/email_postmaster_to_sender.rb index b51de4db9..7936bb816 100644 --- a/test/integration/email_postmaster_to_sender.rb +++ b/test/integration/email_postmaster_to_sender.rb @@ -103,7 +103,7 @@ Oversized Email Message Body #{'#' * 120_000} # /tmp/oversized_mail/yyyy-mm-ddThh:mm:ss-:md5.eml path = Rails.root.join('tmp', 'oversized_mail') target_files = Dir.entries(path).select do |filename| - filename =~ /^.+_#{large_message_md5}\.eml$/ + filename =~ /^#{large_message_md5}\.eml$/ end assert(target_files.present?, 'Large message .eml log file must be present.')