2016-03-01 109 views
-1

我有一個要求,我打算建立一個工具來掃描電子郵件的內容,包括附件。電子郵件服務器要麼是SendMail,要麼是z/OS Communication Server,都支持SMTP。服務器不是Miscrosoft的實現,因此MAPI或Outlook API不在圖片中。該工具將是基於Java的代碼,基本上需要根據一些規則查找不允許的內容。我在這裏有什麼選擇?有可能使用代理服務器,但我們正在尋找更直接的方法。電子郵件攔截技術

+0

在客戶端和服務器之間,你想在哪一邊攔截郵件?你可以在服務器上安裝軟件嗎? – stjepano

+0

在服務器上。這個想法是爲了防止工具檢測到違反規則時郵件被外出。 – User2709

+0

如果您可以在服務器上安裝軟件,那麼您的最佳選擇是實施(或擴展)將掃描電子郵件的SMTP代理,並根據您的規則將郵件轉發到真正的SMTP服務器或拒絕它。你確定你不能配置現有的SMTP服務器來做到這一點。 – stjepano

回答

1

z/OS Communication Server SMTP實現具有內置的「退出」功能 - 請參閱http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/F1A1B4B0/30.3?DT=20110609204120#HDRWQ1299

該出口只針對任何SMTP活動而被調用,它可以根據您建立的規則檢查,更改或拒絕任何事情。它通常用IBM Assembler Language編寫,但沒有理由不能使用任何您喜歡的協議(比如管道或套接字)將數據傳遞到Java應用程序的精簡彙編層。

有許多小細節需要處理,例如字符編碼(例如EBCDIC與ASCII或UTF-8)以及從電子郵件內容中除去附件。但使用此出口可保留IBM SMPT服務器的所有z/OS特定功能,而無需自行重新創建任何特定功能。

祝你好運!

+0

我認爲這正是我需要的,我會試一試。謝謝。 – User2709

+0

很高興能夠幫到......最難的部分將是彙編語言退出本身。雖然IBM沒有這樣記錄它,但我相信他們的SMTP服務器實際上是一個C/C++程序......這意味着將有一個與此過程相關的LE運行時,所以如果你小心,你也許可以在C語言中做退出,如果你不是硬核彙編程序開發者,這可能會讓開發Java代碼更加麻煩。 –