Jawaban singkat:
sangat mungkin bahwa cache tidak akan komprehensif. Jika Anda menghapus email dan kemudian hcache menghitung ulang cache header untuk kotak surat itu, statistik Anda tidak akan menyertakan email dari sebelum penghapusan.
Jika Anda tidak memiliki akses ke log surat untuk server Anda, apakah Anda memiliki akses ke mekanisme filter, misalnya procmail? Anda bisa menggunakannya untuk menghasilkan log alternatif untuk analisis.
Jika tidak, bisakah Anda polling kotak surat Anda dengan program yang dapat menghasilkan log surat diterima? Sesuatu seperti filter offlineimap, atau fetchmail / retchmail yang dikombinasikan dengan beberapa hashing dan caching.
Jawaban yang lebih panjang:
File cache adalah database gaya-DBM. Bergantung pada opsi build yang tepat untuk mutt Anda, itu bisa berupa QDBM , kabinet tokyo , gdbm atau Berkeley DB (BDB); yang semuanya menerapkan variasi API BDB.
Saya percaya bahwa tidak mungkin Anda dapat membaca DB dengan andal kecuali Anda menggunakan implementasi perpustakaan yang tepat. ldd
memberitahu saya mutt lokal saya menggunakan implementasi kabinet tokyo:
$ ldd /usr/bin/mutt
…
libtokyocabinet.so.8 => /usr/lib/libtokyocabinet.so.8 (0xb74f2000)
…
Anda kemudian perlu menulis sebuah program, menggunakan perpustakaan itu, untuk meminta BDB yang disimpan dalam file cache. Ada binding untuk Perl, Ruby, Lua, Java, dan tentu saja C.
Tampaknya header disimpan sebagai nilai dalam DB, diindeks oleh CRC. Dari apa yang saya tahu, CRC diturunkan dari path ke kotak surat, yang menyiratkan bahwa header yang disimpan adalah header untuk semua email di kotak surat itu . Jadi program Anda pada dasarnya akan berakhir dengan buffer yang berisi semua header untuk semua email di kotak surat yang diberikan. Saya tidak berpikir itu akan jauh lebih berguna daripada menarik header dari semua surat yang saat ini ada di kotak surat Anda (dan diberi "jawaban singkat" di atas, tidak dijamin lebih dapat diandalkan).