2010-04-20 44 views
1

我設計了一個聊天應用程序,讓不同的用戶可以創建該帳戶,但我不知道如何發送確認電子郵件給用戶。由於我在註冊表單中收集了他們的電子郵件地址,我如何將郵件發送到Java中的這些地址?如何向我的應用程序的用戶發送確認電子郵件?

+0

@giri:你可以看看一些開源Java項目是如何實際發送電子郵件的。 * JForum *例如用Java編寫,併發送確認/驗證電子郵件:http://jforum.net(這不是真的回答,因此我將它作爲評論;) – SyntaxT3rr0r 2010-04-20 22:34:12

+0

@Wiz:無論如何,您仍然需要SMTP服務器。如果我沒有弄錯,他們也會使用JavaMail API。 – BalusC 2010-04-20 22:47:55

+0

@BalusC:絕對......這就是爲什麼我把它作爲評論而不是答案(順便說一下,當我發佈評論時你還沒有回答):我很確定他們使用JavaMail和「典型」安裝使用GMail帳戶並使用Google的SMTP服務器,這樣您就不需要設置和維護自己的郵件服務器(包含所有RBL /白名單等問題)。這是某種*「使用源代碼,Luke!」*註釋,而不是實際的答案:)< - Java開發人員但JForum *用戶*此處:) – SyntaxT3rr0r 2010-04-21 00:55:34

回答

5

首先,你需要一個SMTP server。它需要能夠發送電子郵件。您可以使用與您自己的現有電子郵件帳戶關聯的SMTP服務器,例如來自ISP的公用郵箱或Gmail,Yahoo等的公用郵箱。您可以在其文檔中找到SMTP連接詳細信息。你通常只需要知道主機名和端口號。登錄詳細信息與您的電子郵件帳戶相同。

但是,您只能在電子郵件的From字段中使用自己的地址,並且通常也會限制您允許以特定間隔發送的電子郵件數量。如果您想要解決這個問題,那麼您需要安裝自己的SMTP服務器,例如Apache James(基於Java)或Microsoft Exchange等。

然後,要使用Java代碼發送電子郵件,您需要JavaMail API或更方便的Apache Commons Email

0

這樣做的最簡單的方法真的取決於你的JVM於二

運行。如果你在一個標準的Linux/UNIX環境中運行,並且不希望faff大約有額外的圖書館環境,那麼一種方法就是「手動」調用sendmail(例如通過ProcessBuilder)。與通常執行命令一樣,只需稍微小心一點,即不要僅將用戶輸入作爲參數傳遞,而不會對其進行篩選。

+2

Java的主要意圖是平臺獨立。這就是爲什麼在每個JavaMail存在:) – BalusC 2010-04-21 02:37:39

+0

是的,如果你真的*需要*平臺的獨立性,它是適當的期望它的情況下。如果它是你的服務器端代碼,那麼你編程的任何語言,實際上它將在各種地方爲你的特定服務器環境編碼。 – 2010-04-21 10:34:31

相關問題