2010-01-06 47 views
2

我最近在試圖實現一個具有非常簡單的數據輸入的服務時遇到了這個問題。基本上我想要做的是能夠發送電子郵件到一個特殊的電子郵件地址,郵件應該被解析,然後數據將被我的應用程序處理。現在我可以找到數百個關於如何從J2EE發送郵件的教程,但從來沒有關於如何接收它們的教程。有沒有一種簡單的方法來處理使用某種形式的MailServlet傳入的郵件。用Servlet接收郵件

問候, 基督教

回答

3

接收郵件與servlet是喜歡吃湯一把刀。

要接收郵件,您需要啓用郵件服務器;通常運行(或可能兩者)SMTP和/或IMAP。這是最終會從外部接受你的郵件的軟件。

在Unix系統下,通常郵件服務器會將收到的郵件推送到一個郵件傳輸代理(MTA),它執行一些普通的操作,比如將收到的郵件寫入郵箱,郵箱可能是文件或目錄。但是,您可以將此過程配置爲將郵件輸入到您選擇的程序中(在shell中)。該程序可以是C或Java程序,然後訪問您的Web服務器,使用郵件內容進行POST,然後可以在Web服務器上處理傳入郵件。

但是,在不是您的Web應用程序服務器的程序中處理郵件要容易得多,這可能是簡單地將郵件內容寫入數據庫的應用程序,可能經過一些處理。


如果你alreading做了很多與Java的東西,你會發現它最方便使用,也許修改,沒有 Java的郵件服務器:這就是所謂的James。爲詹姆斯構建mail-let可能更容易,而不是將其他一些處理工作轉移到「標準」C郵件服務器上。然而,我最近並沒有聽到James的消息,所以我不知道郵件服務器有多好,它的開發有多積極,等等。你必須自己做一些探索(或者提出更多問題這裏)。

+1

+1對於湯和刀:)(仍然在我的屏幕後面)。對於詹姆斯也是。 – 2010-01-06 18:01:27

+0

嗯,我在閱讀AppEngine文檔後得到了這個想法,該文檔允許開發人員只需註冊一個普通的HttpServlet,然後將傳入的郵件傳遞給它。本來會很好,但如果是這樣的話,我將不得不編寫另一個包裝來傳遞郵件。 – cdecker 2010-01-06 18:24:32

+0

啊,我明白了。我玩GAE了一下,但沒有注意到郵件到servlet的東西。那麼,鑑於GAE不支持Web Apps,我想他們必須提供這個。 – 2010-01-06 18:30:17