Procura e-mails duplicados no maildir quando o cabeçalho é um pouco diferente

1

Meu problema é que eu tenho sido um usuário pesado do recurso de importação de pop3 do GMail e o usei para puxar e-mails de outras Contas do GMail. Naquela época, porém, importei apenas novas mensagens, não todas as mensagens armazenadas anteriormente no servidor. Agora que comecei a usar o mutt como meu cliente de e-mail preferido, decidi importar todas as minhas contas de e-mail antigas e, assim, arquivar todos os meus e-mails antigos localmente.

Minha esperança inicial era que eu pudesse facilmente eliminar os e-mails duplicados usando uma ferramenta como fdupes, mas o que eu não esperava era que o Mail-Header fosse ligeiramente alterado pelo GMail quando ele recuperasse um e-mail via Pop3 pode ser visto aqui:

@@ -1,7 +1,16 @@
 Return-Path: <[email protected]>
 Delivered-To: unknown
 Received: from pop.gmail.com (74.125.43.109:995) by localhost with POP3-SSL;
-  10 May 2011 13:35:06 -0000
+  10 May 2011 14:29:41 -0000
+Delivered-To: [email protected]
+Received: by 10.204.52.199 with SMTP id j7cs172325bkg;
+        Sun, 2 May 2010 15:33:19 -0700 (PDT)
+Received: by 10.204.136.15 with SMTP id p15mr6011875bkt.172.1272839446530;
+        Sun, 02 May 2010 15:30:46 -0700 (PDT)
+Received-SPF: softfail (google.com: best guess record for domain of transitioning [email protected] does not designate 84.167.28.93 as permitted sender) client-ip=84.167.28.93;
+Received: by 10.188.26.17 with POP3 id 17mf826641bwz.107;
+        Sun, 02 May 2010 15:30:46 -0700 (PDT)
+X-Gmail-Fetch-Info: [email protected] 1 smtp.gmail.com 995 xxxx
 Received: from aequitas ( [84.167.28.93])
         by mx.google.com with ESMTPS id e20sm18902485fga.1.2008.01.04.07.58.46
         (version=TLSv1/SSLv3 cipher=RC4-MD5);

O original ficou assim: link Existe uma maneira fácil de se livrar desses "arquivos duplicados" de uma maneira fácil?

    
por XQYZ 10.05.2011 / 18:47

1 resposta

3

Use o ID ESMTPS em mx.google.com para identificar duplicatas. Estes devem ser não modificados. No exemplo acima: por mx.google.com com ESMTPS id e20sm18902485fga.1.2008.01.04.07.58.46

Uma implementação muito simples colocaria todos os e-mails em um diretório, extrairia o id e vincularia o arquivo ao id sem usar -f. Como:

for FILE in *; do
     smtpid=$(do_extract_smtp_id_here)
     if test -f ${smptid}; then
         echo "DUPE: ${FILE}"
     else
         ln -s ${FILE} ${smtpid}
     fi
done
    
por 10.05.2011 / 20:04

Tags