2010-02-24 8 views

risposta

2

In realtà mi correggo ci potrebbe essere un implementazione di un algoritmo poter usare. Dipende dal tipo di API che usi per leggere la tua email.

http://www.jwz.org/doc/threading.html

Questo descrive un algoritmo che si potrebbe usare per ricostituire i fili. Le e-mail sono ingannevoli e molti clienti non implementano correttamente gli standard, quindi diventa un problema.

+0

Fantastic Chubbard !! Penso di aver letto questo articolo anni fa e di averlo completamente dimenticato - ricordo il mormorio di netscape;) – Royce

7

Probabilmente non ci sono librerie che io conosca, ma puoi farlo guardando i valori dell'intestazione nell'e-mail. Ci sono diverse intestazioni nelle e-mail che vengono inserite quando qualcuno risponde ai messaggi. Ecco gli header discussi.

Message-ID Ogni email porta con sé un colpo di testa Message-ID, che è una stringa unica al mondo di spazzatura. A volte è un GUID, ma la maggior parte delle volte è una combinazione di dominio GUID +. Il formato non importa è solo una stringa unica.

In-Reply-To In-Reply-To contiene il valore dell'ID messaggio a cui questa email è una risposta.

Referenze può contenere un elenco del Message-ID di tutti i messaggi nella catena dal messaggio corrente di nuovo all'inizio del filetto. Se il thread è molto lungo, questa lista potrebbe essere abbreviata nel mezzo, ma il primo e l'ultimo messaggio dovrebbero sempre essere presenti. (Il vecchio software di posta utilizza questo campo per identificare altri messaggi, a cui si riferiscono i messaggi correnti.)

Outlook che utilizza Thread-Index in cui tutte le e-mail che si trovano in una singola discussione.

È possibile ottenere queste intestazioni utilizzando la buona vecchia JavaMail, quindi non dovrebbe essere troppo difficile ricostruire i thread in questo modo. Purtroppo, non c'è un colpo di testa di serie come un filo-Index

http://people.dsv.su.se/~jpalme/ietf/message-threading.html

messaggio StackOverflow on Thread-index

How does the email header field 'thread-index' work?

1

Per inciso, Google alla ricerca di "threading" piuttosto che "filo" è molto più produttivo che ho appena trovato