ฉันจะสร้างสถิติอีเมลจากแคชส่วนหัวของ mutt ได้อย่างไร


12

เมื่อกำหนดค่าตามนั้น ( set header_cache=) mutt จะบันทึกส่วนหัวจดหมายในไฟล์แคช สามารถใช้เพื่อสร้างสถิติเมล มีใครรู้บ้างเกี่ยวกับรูปแบบไฟล์หรือไม่ มีเครื่องมือใดบ้างที่สามารถดึงข้อมูลที่มีอยู่ออกได้หรือไม่? (นอกจากstrings, grep, awkและชอบ)


นี่คือรหัส: dev.mutt.org/hg/mutt/file/tip/hcache.c
mattdm

คุณคาดหวังว่าจะสร้างสถิติแบบใดที่จะไม่ได้รับคำตอบที่ดีกว่าจากไฟล์บันทึกของเซิร์ฟเวอร์อีเมล
Caleb

1
@Caleb ฉันมีสถิติพื้นฐานมากในใจเช่น min / avg / maxs mail ต่อปี / เดือน / วัน, ใบเสร็จรับเงิน / ผู้ส่งที่เกิดขึ้นซ้ำ ๆ ฯลฯ ทุกคนไม่สามารถเข้าถึงบันทึกเซิร์ฟเวอร์อีเมลได้ดังนั้นนี่จึงไม่ใช่ตัวเลือกเสมอ
artistoex

คำตอบ:


4

คำตอบสั้น ๆ :

เป็นไปได้ทั้งหมดที่แคชจะไม่ครอบคลุม หากคุณลบเมลและ hcache ในภายหลังจะคำนวณแคชส่วนหัวสำหรับกล่องจดหมายนั้นอีกครั้งสถิติของคุณจะไม่รวมถึงเมลก่อนการลบ

หากคุณไม่สามารถเข้าถึงบันทึกเมลสำหรับเซิร์ฟเวอร์ของคุณคุณมีสิทธิ์เข้าถึงกลไกตัวกรองเช่น procmail หรือไม่ คุณสามารถใช้สิ่งนั้นเพื่อสร้างบันทึกทางเลือกสำหรับการวิเคราะห์

มิฉะนั้นคุณสามารถสำรวจกล่องจดหมายของคุณด้วยโปรแกรมที่สามารถสร้างบันทึกเมลที่ได้รับได้หรือไม่? บางอย่างเช่นตัวกรองแผนที่แบบออฟไลน์หรือ fetchmail / retchmail รวมกับการแปลงแป้นพิมพ์และแคช

คำตอบอีกต่อไป:

ไฟล์แคชเป็นฐานข้อมูลสไตล์ DBM ขึ้นอยู่กับตัวเลือกการสร้างที่แน่นอนสำหรับ mutt ของคุณอาจเป็นหนึ่งในQDBM , ตู้โตเกียว , gdbmหรือBerkeley DB (BDB) ซึ่งทั้งหมดใช้รูปแบบของ API ของ BDB

ฉันเชื่อว่าไม่น่าเป็นไปได้ที่คุณจะสามารถอ่าน DB ได้อย่างน่าเชื่อถือเว้นแต่คุณจะใช้การติดตั้งไลบรารี่ที่เหมาะสม lddบอกฉันว่า mutt ในพื้นที่ของฉันใช้การใช้งานตู้ของโตเกียว:

$ ldd /usr/bin/mutt
…
libtokyocabinet.so.8 => /usr/lib/libtokyocabinet.so.8 (0xb74f2000)
…

จากนั้นคุณจะต้องเขียนโปรแกรมโดยใช้ไลบรารีนั้นเพื่อสอบถาม BDB ที่เก็บไว้ในไฟล์แคช มีการเชื่อมสำหรับ Perl, Ruby, Lua, Java และแน่นอน C

ดูเหมือนว่าส่วนหัวจะถูกเก็บไว้เป็นค่าใน DB ซึ่งจัดทำดัชนีโดย CRC จากสิ่งที่ฉันสามารถบอกได้ว่า CRC นั้นได้มาจากเส้นทางไปยังกล่องจดหมายซึ่งหมายความว่าส่วนหัวที่เก็บไว้นั้นเป็นส่วนหัวสำหรับจดหมายทั้งหมดในกล่องจดหมายนั้น ดังนั้นโปรแกรมของคุณจะจบลงด้วยบัฟเฟอร์ที่มีส่วนหัวทั้งหมดสำหรับจดหมายทั้งหมดในกล่องจดหมายที่กำหนด ฉันไม่คิดว่ามันจะมีประโยชน์มากกว่าการดึงส่วนหัวจากจดหมายทั้งหมดที่อยู่ในกล่องจดหมายของคุณ (และได้รับ "คำตอบสั้น ๆ " ด้านบนไม่รับประกันว่าจะเชื่อถือได้มากกว่า)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.