2016-06-12 50 views
0

我試圖通過IMAP檢索電子郵件的最多處理次數。 (I asked a related question about it.我們可以通過哈希刪除通過IMAP檢索的電子郵件嗎?

計算通過IMAP檢索的MIME郵件的加密哈希碼來重複刪除它們是否可靠?

換句話說,爲什麼同一封電子郵件在通過IMAP多次檢索時會導致不同的結果?例如,當電子郵件跨文件夾移動時,電子郵件可以更改它的內容,或標記爲已讀或出於其他原因?

我在使用Mailkit.NET作爲客戶端的Windows上使用hMailserver。但是,不確定這是否重要。

+0

如果您只對內容進行哈希處理,則不會更改,但實際的重複項可以存在(消息可以在IMAP中複製)。我認爲你已經在設計這個問題了,但UID應該足夠了。 – Max

+0

http://crypto.stackexchange.com/questions/2583/is-it-fair-to-assume-that-sha1-collisions-wont-occur-on-a-set-of-100k-strings/2584 –

回答

2

許多郵件列表附加了一個頁腳,所以郵件都發送給我和列表到達與兩個不同的簽名。

大多數人認爲這是一條消息。

我建議使用message-id標頭字段進行最多一次處理。 AFAICT在過去的十年裏一直保持着獨一無二的特徵(我見過的最後一次碰撞是從2000年左右開始的)。

+0

它可能值得檢查主題或其他一些頭文件,以確保它不是碰撞(請記住,有時郵件列表還會在主題值中加入''[list-name]'')。 – jstedfast

+0

我很擔心客戶可能根本沒有發過。 – boot4life

+0

很久以前,客戶已經瞭解到,如果他們的郵件沒有被垃圾郵件過濾器捕獲。例如,垃圾郵件刺客有六種規則可以將郵件與不良或(部分)缺失的郵件標識進行匹配。 – arnt