2014-01-17 57 views
1

我想創建一個只接收加密郵件的新電子郵件帳戶。不幸的是,我無法修改郵件服務器配置,所以我考慮每2分鐘使用cronjob檢查收到的電子郵件,並自動拒絕那些未加密的郵件。PHP:如何區分加密和未加密的電子郵件?

到目前爲止,我這樣做:

$body = imap_body($mbox, $i); 
if (substr($body,0,27) == "-----BEGIN PGP MESSAGE-----") 
    $encrypted = true; 
else 
    $encrypted = false; 

的作品,但我敢肯定,我不捕獲所有加密的電子郵件。我沒有在標題中找到一個唯一的選項,告訴我消息是加密的。 Enigmail留言:

X-Enigmail-Version: 1.5.1 

但是,這對我沒有任何幫助。就像我上面所做的那樣,僅僅是grep的BEGIN PGP MESSAGE字符串就夠了嗎?

回答

0

由於計算語言學的學生,我的第一個想法是統計學試試吧:

據我所知加密的郵件不包含空格。因此,您可以將電子郵件正文標記爲單詞,並計算單詞的平均長度。試試其他一些郵件或文本,看看平均長度有何不同。

它可能有點奢侈,但比尋找子字符串更有效:例如有人可能會發送處理加密或最新NSA泄漏的網頁或文本;-)

相關問題