|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。js你但愿在jsp中创建一个邮件发送收取工具吗?上面将先容的就是在jsp中创建一个邮件发送收取工具。在这篇文章中你能够懂得到JavaMailAPI的一些要点和怎样在JSP中利用它。本文中还包含了在JSP中利用JavaMail的实例。JavaMail是JSP使用软件中相称壮大的API。 浏览这篇文章必要对JSP、JavaBeans和JavaMail有必定的开端懂得。固然,有关于JavaMail的常识你能够经由过程浏览这篇文章来取得。假如你关于以上三项一窍不通,但你所利用的服务器撑持JSP和JavaMail的话,你能够仅仅经由过程复制/粘贴来利用它们。
甚么是JavaMail
JavaMail是Sun公布的用来处置email的API。它能够便利地实行一些经常使用的邮件传输。
固然JavaMail是Sun的API之一,但它今朝还没有被加在尺度的java开辟工具包中(JavaDevelopmentKit),这就意味着你在利用前必需别的下载JavaMail文件。除此之外,你还必要有Sun的JavaBeansActivationFramework(JAF)。JavaBeansActivationFramework的运转很庞大,在这里复杂的说就是JavaMail的运转必需得依附于它的撑持。在Windows2000下利用必要指定这些文件的路径,在别的的操纵体系上也相似。
接上去要解说的是这篇指南的最难了解的部分。
这篇指南包含三部分:HTML表格、关于JavaMail、JavaMail和JSP的分离。
第一部分:HTML表格
第一部分供应了一个最基础的基于HTML的email发送收取程序的例子。第二部分则报告JavaMail的事情道理。第三部分则先容将JavaMail到场JSP,创立一个基础的email发送收取程序。
分别组件
JSP最主要的特征是能将全部网页分别成一些微小的组件。这里利用的组件包含:
●一个用来将email的信息发送给JSP的HTML表格;
●一个JSP页面用来处置和发送函件。
第一步,就是创立一个HTML表格用来给JSP页面发送信息。你能够将以下的HTML代码复制到你的电脑上:
用来发送email的HTML源代码
<HTML>
<BODY>
<FORMaction="sendmail.jsp"method="post">
<TABLEalign="center">
<TR>
<TDwidth="50%">
To:<BR><INPUTname="to"size="25">
</TD>
<TDwidth="50%">
From:<BR><INPUTname="from"size="25">
</TD>
</TR>
<TR>
<TDcolspan="2">
Subject:<BR><INPUTname="subject"size="50">
</TD>
</TR>
<TR>
<TDcolspan="2">
Message:<BR><TEXTAREAname="text"rows=25cols=85></TEXTAREA>
</TD>
</TR>
</TABLE>
<INPUTtype="submit"name="cb_submit"value="Send">
<INPUTtype="reset"name="cb_reset"value="Clear">
</FORM>
</BODY>
</HTML>
以上这段程序将创立一个包括email基础信息(比方:收件地点、发送地点、主题和内容)的文件。固然你能够依据你本人的必要来决意这个文件包括那些信息。
这个HTML文件的利用有两点请求:第一点是天生的文件必需发送给接上去将先容的程序利用。在这个例子中就是sendmail.jsp,但在你利用时,必需用这个文件在体系里的URL来取代它;第二点是必需有空间来同意用户发送email。
第二部分:关于JavaMail
文档的利用
下载的JavaMailAPI中带的文档是很有效的。你能够在JavaMail下的/docs/javadocs/index.html找到它。第二部分次要将剖析邮件程序的组件。你能够经由过程浏览文档来取得更多这方面的信息。
组件发送邮件必要利用JavaMail,它使对邮件的操纵变得复杂易用。
属性对象
JavaMail必要创立一个格局为"mail.smtp.host"的文件用来发送信息。
Propertiesprops=newProperties();
props.put("mail.smtp.host","smtp.jspinsider.com");
对话对象
一切的基于JavaMail的程序都最少必要一个或全体的对话方针。
SessionsendMailSession;
sendMailSession=Session.getInstance(props,null);
传输
邮件的传输只要送出或遭到两种形态。JavaMail将这两种分歧形态形貌为传输和贮存。传输将送出邮件,而贮存将收取邮件。
Transporttransport;
transport=sendMailSession.getTransport("smtp");
利用JavaMail能为我们勤俭大批的工夫。JavaMail能取代一切的SMTP的事情。
注重:JavaMail其实不能完整的撑持一切的邮件发送收取事情。它今朝仅撑持IMAP、SMTP和POP3,除此之外你只要守候新的JavaMail版本或本人开辟协定。
信息对象
信息对象将把你所发送的邮件实在的反应出来。
MessagenewMessage=newMimeMessage(sendMailSession);
这就是我们所必要的全体四个对象。下一步将是怎样将对象到场到JSP中。
第三部分:JavaMail和JSP的分离
创立JSP
上面我们将入手下手将他们分离在一同。最主要的一点是要确认依据页面唆使分类。还要记得在邮件上标注java.util.date。
<%@page
import="javax.mail.*,javax.mail.internet.*,javax.activation.*,java.util.*"
%>
其次,创立邮件发送切实其实认信息。确认信息能够是恣意的,一样平常经常使用"你的邮件已发送进来了(Yourmailhasbeensent)。"
信息是怎样创立和发送的
我们在第二部分里已会商过信息对象的创立。我们上面将对信息举行操纵。这就和设相信息对象的属性一样复杂。你能够经由过程上面的程序来完成这项操纵。
newMessage.setFrom(newInternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO,newInternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(newDate());
newMessage.setText(request.getParameter("text"));
如今将入手下手发送信息。经由过程JavaMail来完成它十分复杂。
transport.send(newMessage);
将一切的组件分离在一同
如今一切的组件都已完全了。如今将它们都放在JSP内里。要注重每个毛病信息,并将它反应给用户。代码以下,你能够经由过程复制它们间接利用:
SampleJSPemailUtilityUsingJavaMail
<%@page
import="javax.mail.*,javax.mail.internet.*,javax.activation.*,java.util.*"
%>
<html>
<head>
<TITLE>JSPmeetsJavaMail,whatasweetcombo.</TITLE>
</HEAD>
<BODY>
<%
try{
Propertiesprops=newProperties();
SessionsendMailSession;
Storestore;
Transporttransport;
sendMailSession=Session.getInstance(props,null);
props.put("mail.smtp.host","smtp.jspinsider.com");
MessagenewMessage=newMimeMessage(sendMailSession);
newMessage.setFrom(newInternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO,newInternetAddress(request.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(newDate());
newMessage.setText(request.getParameter("text"));
transport=sendMailSession.getTransport("smtp");
transport.send(newMessage);
%>
<P>Yourmailhasbeensent.</P>
<%
}
catch(MessagingExceptionm)
{
out.println(m.toString());
}
%>
</BODY>
</HTML>
你会很快体味到JavaMail的便利的地方,JSP和JavaMail将是将来的但愿。
java主要分三块,j2se:java的基础核心语言。j2me:java的微型模块,专门针对内存小,没有持续电源等小型设备。j2ee:java的企业模块,专门针对企业数据库服务器的连接维护。 |
|