我有一個從Lotus Dominos郵箱閱讀電子郵件的任務。要執行相同的操作,我有以下兩個選項(可能還有其他選項):創建Java代理與調用Notes API - Louts註釋
- 在郵箱中創建Java代理並對其進行計劃。它將處理郵件並採取措施。\
- 使用Notes API編寫單獨的Java代碼並調用Dominos服務器來獲取郵件並處理它們。
兩者有什麼區別?功能還是別的?
我有一個從Lotus Dominos郵箱閱讀電子郵件的任務。要執行相同的操作,我有以下兩個選項(可能還有其他選項):創建Java代理與調用Notes API - Louts註釋
兩者有什麼區別?功能還是別的?
編寫Java代理到電子郵件服務器
優點
缺點登錄
原因個人認爲
我寫了一個客戶端,使用IMAP定期讀取收件箱中的電子郵件,並且設置了一個James Mail Server,其中包含您正在討論的代理程序,用於以編程方式響應電子郵件地址收到的電子郵件。我傾向於喜歡你的選項1(一個運行在電子郵件服務器內部的Java代理),因爲它可以讓你充分利用電子郵件服務器本身的所有彈性。代碼可以合理地保證在電子郵件服務器上啓動和停止,並且它的日誌記錄連接到服務器的日誌記錄。使獨立代理具有與初始配置以外的服務器一起工作的好處(特別是如果您使用標準協議)。但是你必須做更多的事情來確保它是可操作的,並且你必須更努力地進行調試(以我自己的經驗)。此外,Java代理方法趨於更小,因此管理的代碼更少。
如果您只監視一個郵箱,那麼Java代理具有明顯的優勢,因爲它不需要任何配置數據。您只需將代理放入實際的郵箱數據庫中,並在運行時調用AgentContext.getCurrentDatabase。如果您只監視幾個maibox,則可以複製代理,並且每個實例再次讀取AgentContext.getCurrentDatabase。但是如果你有很多郵箱,那麼你可能不想在整個地方複製它。您可能只需要一個代理程序或一個獨立程序 - 在這兩種情況下,您都需要一些配置數據來控制它。在這種情況下,我可能會考慮單機運行而不是代理。
但是這會引發一個問題:您想如何管理配置數據?另一個問題是:誰來管理配置數據?如果答案是Domino服務器的管理員也將管理正在讀取郵箱數據的進程的配置,那麼我建議您應該使用您熟悉的所有Domino管理員都熟悉的配置工具。這可能是Domino目錄中列出郵箱名稱的組,也可能是包含您正在監視的每個郵箱的配置文檔的Notes數據庫。如果您決定採用這種方式,那麼我的首選項仍然是使用Domino代理程序來讀取Domino服務器上的配置信息,並從配置的郵箱中讀取數據。但這裏的優勢並不強。您可以在Domino中配置它,但仍然可以單獨運行。獨立代碼只需要進行配置,以便知道在哪裏查找其配置數據,這可能只是命令行,如'java myprog dominoServerName configDatabaseName'。
當你說「閱讀」時,你的意思是「處理」嗎?你需要做什麼處理電子郵件?就個人而言,我會在LotusScript中編寫一個代理來執行任何處理,但這是我的技能集。 –