可以到 http://www.oracle.com/technetwork/java/javamail-1-4-2-141075.html
下載最新的 JavaMail 1.4.2 API ,可以選擇下載壓縮檔,下載完成並解壓縮後
我們需要的是 mail.jar 即可,如果需要處理附加檔案的話則還要另外下載
JavaBeans Activation Framework(JAF)來配合 JavaMail
接下來介紹一下 JavaMail 的用途,在寫 JSP 的登入的時候如果使用者忘記密碼
那就是用到 JavaMail 的時候了,我以 NetBeans 為例實現寄送電子郵件的功能
首先將剛剛下載的 mail.jar 匯入到 project 中,在側邊欄的 Liberaries 點擊右鍵 > Add Library
接下來可以在一個 Servlet 中進行郵件處理,在這之前可能需要先讓使用者
輸入帳號確認身分後可以再加上密碼的提示,如果答案正確即可寄信
以下為 Servlet 中部份的程式碼,當確認身分並提示答案正確後會呼叫 sendMail()
//...... private boolean sendMail(String email, String password) //email 為收件者, password 為密碼 { java.util.Properties property = new java.util.Properties(); property.put("mail.host", "ms2.hinet.net"); //設定郵件伺服器 property.put("mail.transport.protocol", "smtp"); //設定通訊協定 Session sess = Session.getInstance(property, null); //取得 Session MimeMessage msg = new MimeMessage(sess); //以Session 為參數 建立一封電子郵件 try{ msg.setFrom(new InternetAddress("xxxxxx@yahoo.com.tw")); //寄件者 //將收件者的 InetAddress 物件新增給使用者 msg.addRecipient(Message.RecipientType.TO, new InternetAddress(email)); msg.setSubject("找回密碼"); //郵件的主旨 msg.setText(password); //郵件的內容...使用者的密碼 msg.setSentDate(new java.util.Date()); //設定寄送日期 為現在 Transport.send(msg); //寄送郵件 return true; }catch(AddressException ae){ System.out.println(ae); return false; //記得要 return false }catch(MessagingException me){ System.out.println(me); return false; //記得要 return false } }
沒有留言:
張貼留言