Portál AbcLinuxu, 10. května 2025 19:21

Dotaz: Jak na emailove retezy?

12.8.2021 19:58 zdenek2008 | skóre: 26
Jak na emailove retezy?
Přečteno: 474×
Odpovědět | Admin
Potrebuji nejak resit emailove retezy (email chains, email threads), nejspise asi rozdelit na jednotlive emaily, pripadne v dalsi fazi pak treba tridit a seskupovat podle navaznosti, osob, predmetu apod. Momentalne mam dotycne emaily ulozene jako pdf soubory, ale jsou k mani i v puvodni schrance online. Ta pdf kolekce je samozrejme otresne zmatena, prvni pdf obsahuje prvni email, dalsi pak odpoved i s tim prvnim, dalsi pak vyjadreni dalsi osoby k tem dvema, atd. atd... Na konci mame nekolikamegova mnohastrankova pdfka ve kterych se stejne nikdo nevyzna.

Zatim vim o sw Sigparser a Mailgun a pripadne o nejakych komercnich balicich pro eDiscovery ktere treba vykresluji i diagramy posloupnosti. Nemeli byste nekdo nejake tipy jak vlastne k tomuto problemu pristupovat, aspon jak vytezit samostatne emaily? Kdyztak predem diky za pripadne napady.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.8.2021 21:05 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Jak na emailove retezy?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tu by som odporučil zamyslieť sa nad Buzzwordom: "Document Storrage System", a funkcionalitách Full scanu, a popisných metadát pre potreby vyhľadávania. Ak teda nestačí tradičný fullscan, a bežná retencia daná legislatívou zúčastnených krajín.
12.8.2021 21:32 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: Jak na emailove retezy?
Mam na mysli neco v tom smyslu ze kdyz treba prvni email "commitnu" do gitu, pak ho prepisu dalsim emailem ke stejnemu tematu, commitnu a pak opet dalsim v poradi, tak by mel git pokazde rozlisit ten novy obsah v emailu od puvodniho a kdybych pak dostal ty jednotlive diffy tak bych mel jednotlive komunikace v tom retezu. S temi pak uz bych mohl dal operovat podle potreby. Jeste je otazka, pokud by se chronologicke poradi emailu treba omylem prohodilo, jak by se to v tech diffech projevilo.
13.8.2021 19:36 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: Jak na emailove retezy?
Tu sa skôr natíska otázka, či sú tie emaily z komunikácie ľudí ktorí rozumejú pojmu "predmet správy" (subject) a nemiešajú tak v jednom emailovom vlákne komunikáciu z iného emailového vlákna. Tak, ako je to zlozvykom pri Instant Messagingu. Také niečo kategorizovať je čisté peklo.

Ak by to boli strojovo generované správy, tak takéto riziko miešania komunikácie neexistuje.
13.8.2021 22:14 z_sk | skóre: 34 | blog: analyzy
Rozbalit Rozbalit vše Re: Jak na emailove retezy?
Odpovědět | | Sbalit | Link | Blokovat | Admin
RAW formát mailu je text, ak sa Ti spracovať ako text.
debian.plus@protonmail.com
14.8.2021 12:56 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: Jak na emailove retezy?
Diky za tipy, zkousim na to jit z ruznych stran, skutecne se to vyviji na hratky s raw textem.
14.8.2021 22:36 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: Jak na emailove retezy?
Myslis ten encode-ovany base64? Ten sa mu bude vyborne indexovat.

BTW V akom nareci pises? Uhorsko-mongolcininou?
xkucf03 avatar 14.8.2021 23:04 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše MIME, XML, eXist, BaseX, Relational pipes, citace v e-mailu

Možná by pomohlo vzít zprávu:

$ cat utf-8.eml 
Subject: predmet
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset=UTF-8


dGV4dCB6cHLDoXZ5IHYgxI1lxaF0aW7Emwo=

a převést na XML:

$ cat utf-8.eml | mime2xml 
<?xml version="1.0" encoding="UTF-8"?>
<mime-message>
  <headers>
    <subject>predmet</subject>
    <content-transfer-encoding>base64</content-transfer-encoding>
    <content-type>text/plain</content-type>
  </headers>
  <body content-type="text/plain" length="26"><![CDATA[text zprávy v češtině
]]></body>
</mime-message>

Ale je to ještě hodně čerstvé – dosud nevydaná verze relpipe-in-mimetable.

A pak to nasypat ideálně do nějaké XML databáze (eXist, BaseX, případně PostgreSQL s indexovaným XML sloupcem), která to zaindexuje a umožní v tom efektivně vyhledávat. V horším případě to nechat v souborech a prohledávat ty (nad tím jde psát XPath dotazy, akorát jak to nebude indexované, tak se budou muset vždy projet všechny soubory).

V XSLT se pak dá snadno napsat šablona, která naformátuje e-maily pro tisk.

Nicméně problém vidím v té (ne)struktuře těch zpráv a v tom, jak se k tomu e-mailu lidi chovají – většina BFU bohužel odpovídá nad původní zprávu, kterou tam nechávají celou. Tudíž jak ta citace, tak ta nová zpráva je v téže MIME části a neexistuje spolehlivý způsob, jak je od sebe oddělit – jen více či méně chybové heuristiky. Tohle by si člověk musel napsat sám (nebo na to možná existuje nějaká knihovna) a vložit to za ten převod do XML a aplikovat na elementy body/part.

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
15.8.2021 11:18 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: MIME, XML, eXist, BaseX, Relational pipes, citace v e-mailu
Resim jednu konkretni konverzaci takze zatim nemusi byt to reseni univerzalni, snad v budoucnosti. Misto tech pdf souboru jsem si ty emaily stahl do sqlite3 kde mam pekne rozdelena metadata takze mohu tridit. Takze ted mam pro kazdy email vicemene cisty text. Kdyz z neho odstranim ty sipky uvozujici predchozi texty v emailu (>>), tak mi zbyde mnozstvi inkrementalnich textu, tj.:
text 1
text 2 + 1
text 3 + (2 + 1)
text 4 + (3 + (2 + 1))
atd.
Ty by pak melo jit rozfiltrovat na jednotlive inkrementy (tedy jednotlive prispevky v konverzaci) pomoci diff, comm, difflib nebo podobne. Tim padem bych nemusel resit parsovani tech retezu. Momentalne budu premyslet jakym algoritmem ziskat ty inkrementy.
14.8.2021 19:07 S.B.
Rozbalit Rozbalit vše Re: Jak na emailove retezy?
Odpovědět | | Sbalit | Link | Blokovat | Admin
A mailman (listserv) by nepomohl? Znám ho spíš už v provozovaném stavu s přístupem přes web.
17.8.2021 00:35 elenril
Rozbalit Rozbalit vše Re: Jak na emailove retezy?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podívej se jestli by ti nesednul notmuch. Indexuje maily a třídí je do vláken. Je to hlavně míněné jako framework pro tvorbu běžných klientů, ale má to API pro spoustu jazyků a jistě v tom můžeš např. přes Python procházet jednotlivé thready jako strom, kreslit si je do grafů, atd.
17.8.2021 13:17 zdenek2008 | skóre: 26
Rozbalit Rozbalit vše Re: Jak na emailove retezy?
Diky, prozkoumam podrobneji. To rozdeleni threadu na jednotliva sdeleni asi budu resit tim ze vezmu ten nejdelsi/nejnovejsi email v danem threadu, od jeho obsahu odectu predchozi email takze zbyde jen to nejcerstvejsi sdeleni. Od toho predchoziho pak odectu jeho predchozi a tak postupne dal az k prvnimu v poradi. Bude tam potreba ruzne doladovat ten text, odstranovat ruzne ty sipky apod., ale zhruba by to melo vest k zadoucimu vysledku, tj, kolekci jednotlivych sdeleni bez navesenych predchozich emailu.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.