在實現javamail之前首先要搭建郵件服務器
James在進行WEB程序開發的時候需要使用Tomcat服務器,但是Tomcat服務器并不支持郵件的處理操作,所以要想進行郵件的發送,還需要配置一個單獨的Java Mail服務器,James 就是一個企業級的郵件服務器,它完全實現了SMTP(Simple Mail Transfer PRotocol,簡單郵件傳輸協議) 和POP3(Post Office Protocol 3,郵局協議的第三個版本)以及NNTP (Network News Transport Protocol,網絡新聞傳輸協議)協議。同時,James服務器又是一個郵件應用程序平臺。它可以讓用戶常容易的實現出很強大的郵件應用程序。讀者可以使用Apache的James服務器,直接登陸http://james.apache.org/,下載James服務器。在網上可以直接搜索配置James服務器,有大量的博文可以參考,我在這里就不累贅重復了,有一點值得注意的是:在配置過程中有打telnet localhost 4555
沒有反應的需要在控制面板-->程序與功能-->打開或關閉windows功能中 打開Telnet服務即可
JavaMail簡介及配置JavaMail是Java中專門用來處理電子郵件處理的一套規范,使用它可以方便的進行mail的發送、也可以使用JavaMail開發出類似于Microsoft Outlook樣的應用程序。
JavaMail核心類:
<%@ page contentType="text/html; charset=GBK" language="java" %><html><head><title>發送普通文本格式的E-mail</title><meta http-equiv="Content-Type" content="text/html; charset=GBK"><link href="CSS/style.css" rel="stylesheet"><script language="Javascript">function checkform(myform){ for(i=0;i<myform.length;i++){ if(myform.elements[i].value==""){ alert(myform.elements[i].title+"不能為空!"); myform.elements[i].focus(); return false; } }}</script></head><body><form name="form1" method="post" action="mydeal.jsp" onSubmit="return checkform(form1)"><table width="588" height="360" border="0" align="center" cellpadding="0" cellspacing="0" background="images/bg.jpg"> <tr> <td width="60" height="73" background="Images/board_left.gif"> </td> <td width="486" background="Images/board_left.gif"> </td> <td width="46" background="Images/board_left.gif"> </td> </tr> <tr valign="top"> <td height="247"> </td> <td valign="top"><table width="96%" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="16%" height="27" align="center">收件人:</td> <td width="84%" colspan="2" align="left"><input name="to" type="text" id="to" title="收件人" size="60" ></td> </tr> <tr> <td height="27" align="center">發件人:</td> <td colspan="2" align="left"><input name="from" type="text" id="from" title="發件人" size="60"></td> </tr> <tr> <td height="27" align="center">密 碼:</td> <td colspan="2" align="left"><input name="password" type="password" id="password" title="發件人信箱密碼" size="60"></td> </tr> <tr> <td height="27" align="center">主 題:</td> <td colspan="2" align="left"><input name="subject" type="text" id="subject" title="郵件主題" size="60"></td> </tr> <tr> <td height="93" align="center">內 容:</td> <td colspan="2" align="left"><textarea name="content" cols="59" rows="7" class="wenbenkuang" id="content" title="郵件內容"></textarea></td> </tr> <tr> <td height="30" align="center"> </td> <td height="40" align="right"><input name="Submit" type="submit" class="btn_bg" value="發送"> <input name="Submit2" type="reset" class="btn_bg" value="重置"> <input name="Submit3" type="button" class="btn_bg" onClick="window.close();" value="關閉"> </td> <td align="left"> </td> </tr> </table></td> <td> </td> </tr> <tr valign="top"> <td height="40"> </td> <td> </td> <td> </td> </tr></table></form></body></html>
mydeal.jsp
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %><%@ page import="java.util.*" %><%@ page import ="javax.mail.*" %><%@ page import="javax.mail.internet.*" %><%@ page import="javax.activation.*" %><%@ page import="org.apache.commons.mail.*" %><%try{ request.setCharacterEncoding("GBK"); String from=request.getParameter("from"); String to=request.getParameter("to"); String subject=request.getParameter("subject"); String messageText=request.getParameter("content"); String password=request.getParameter("password"); String mailserver="localhost"; //局域網發送郵件時的SMTP服務器 SimpleEmail email = new SimpleEmail(); email.setHostName(mailserver);//設置郵件服務器 email.setAuthentication(from,password);//設置郵箱用戶名和密碼 email.setFrom(from); //設置發件人地址 email.addTo(to); //設置收件人地址 email.setSubject(subject); //設置主題 email.setSentDate(new Date());//設置發送時間 email.setMsg(messageText); //設置發送的消息 email.send(); //發送郵件 out.println("<script language='javascript'>alert('郵件已發送!');window.location.href='index.jsp';</script>");}catch(Exception e){ e.printStackTrace(); System.out.println("發送郵件產生的錯誤:"+e.getMessage()); out.println("<script language='javascript'>alert('郵件發送失敗!');window.location.href='index.jsp';</script>");}%>需要導的包:mail.jar
新聞熱點
疑難解答