X-Git-Url: http://club.cc.cmu.edu/~cmccabe/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=snarf_mail.rb;h=76c831ce8c0d2b521e1334d0b18cb3b9f0a19fc0;hb=2c1e447111e0043adcb0a8c8418a6ee02e82e8e1;hp=fc51b57d5024c488687bcb7c14c7edf40a6906f8;hpb=63101d4aa1521a3ced6c3bc2e02a548f933bf4e3;p=cmccabe-bin diff --git a/snarf_mail.rb b/snarf_mail.rb index fc51b57..76c831c 100755 --- a/snarf_mail.rb +++ b/snarf_mail.rb @@ -90,16 +90,20 @@ def format_uid(uid) return sprintf("%006d", uid) end -def get_sanitized_email_name(mailbox, uid) +def format_date(date) + date.gsub!(' ', '_') +end + +def get_sanitized_email_name(mailbox, arr) msn = mailbox.dup msn.gsub!(' ', '_') msn.gsub!('/', '.') - return "#{msn}#{format_uid(uid)}" + return "#{msn}_#{format_date(arr["INTERNALDATE"])}_#{format_uid(arr["UID"])}" end def write_email_to_disk(mailbox, data) arr = data[0].attr - filename = get_sanitized_email_name(mailbox, arr["UID"]) + filename = get_sanitized_email_name(mailbox, arr) fp = File.open(filename, 'w') fp.write(arr["RFC822.HEADER"]) fp.write(arr["RFC822.TEXT"]) @@ -135,7 +139,8 @@ def snarf_mailbox(imap, mailbox) STDOUT.flush() first_time = false end - data = imap.fetch(message_id, [ "UID", "RFC822.HEADER", "RFC822.TEXT" ]) + data = imap.fetch(message_id, + [ "INTERNALDATE", "UID", "RFC822.HEADER", "RFC822.TEXT" ]) write_email_to_disk(mailbox, data) count = count + 1 full_count = full_count + 1