Browse Source

No timestamp of unprocessable mail to prevent double import of mails. Follow up if issue #2092.

Martin Edenhofer 5 years ago
parent
commit
886c718e12

+ 4 - 5
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

+ 1 - 1
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.')