📄 jsp与java mail api.htm
字号:
</TD><BR> <TD
width="50%"><BR>
From:<BR><INPUT name="from"
size="25"><BR>
</TD><BR> </TR><BR>
<TR><BR> <TD
colspan="2"><BR>
Subject:<BR><INPUT name="subject"
size="50"><BR>
</TD><BR> </TR><BR>
<TR><BR> <TD
colspan="2"><BR>
<P>Message:<BR><BR>
<TEXTAREA name="text" rows=25
cols=85></TEXTAREA>
<BR>
</P><BR> </TD><BR>
</TR><BR></TABLE><BR><INPUT type="submit"
name="cb_submit" value=" Send "><BR><INPUT
type="reset" name="cb_reset" value=" Clear
"><BR></FORM><BR></BODY><BR></HTML>
</P>
<P> JSP页面的作用就是获得表单提交过来的数据,并将这些数据赋给Java Mail
API中相应的对象,最后完成邮件发送。</P>
<P>sendmail.jsp文件</P>
<P><%@ page import=" Javax.mail.*,
Javax.mail.internet.*,
Javax.activation.*,Java.util.*"%><BR><html><BR><head><BR><TITLE>JSP
meets JavaMail, what a sweet
combo.</TITLE><BR></head><BR><body><BR><%<BR>try{<BR>Properties
props = new Properties();<BR>Session
sendMailSession;<BR>Store store;<BR>Transport transport;
</P>
<P>sendMailSession = Session.getInstance(props,
null);<BR>props.put("mail.smtp.host",
"smtp.jspinsider.com");<BR>Message newMessage = new
MimeMessage(sendMailSession);<BR>newMessage.setFrom(new
InternetAddress(request.getParameter("from")));<BR>newMessage.setRecipient(Message.RecipientType.TO,
new InternetAddress ( request.getParameter
("to")));<BR>newMessage.setSubject(request.getParameter("subject"));<BR>newMessage.setSentDate(new
Date());<BR>newMessage.setText(request.getParameter("text"));<BR>transport
=
sendMailSession.getTransport("smtp");<BR>transport.send(newMessage);<BR>%><BR><P>Your
mail has been
sent.</P><BR><%<BR>}catch(MessagingException
m)<BR>{<BR>out.println(m.toString());<BR>}<BR>%><BR></body><BR></html>
</P>
<P> 如何发送HTML类型的邮件 </P>
<P> 在上面的例子中,我们实现了如何发送文本格式的邮件,那么HTML格式的邮件该如何发送呢?那就看看下面的例子吧。<BR> 该例由四个文件组成:<BR> ·form.htm:用来建立邮件信息的表单<BR> ·send.jsp:用来获取表单提交的信息,并调用mymail.mail.HTML.send()方法发送邮件<BR> ·StringDataSource.Java:用户自定义的JavaBean,用来将邮件的Body部分转化为HTML格式<BR> ·HTML.Java:用户自定义的JavaBean,用来发送HTML格式的邮件。在send.jsp文件中提到的mymail.mail.HTML.send()方法就在该JavaBean中定义。
</P>
<P>form.htm<BR><html><BR><head><BR><meta
http-equiv="Content-Type" content="text/html;
charset=gb2312"><BR><title> JavaMail -
发送HTML邮件</title><BR></head><BR><body><BR><form
method="post" action="send.jsp"><BR> <table
border="0" cellspacing="0"
cellpadding="0"><BR>
<tr><BR>
<td>SMTP主机:</td><BR>
<td><input type="text" name="smtp"
size="80"></td><BR>
</tr><BR>
<tr><BR>
<td>发信人:</td><BR>
<td><input type="text" name="from"
size="80"></td><BR>
</tr><BR>
<tr><BR>
<td>收信人:</td><BR>
<td><input type="text" name="to"
size="80"></td><BR>
</tr><BR>
<tr><BR>
<td>抄送人:</td><BR>
<td><input type="text" name="cc"
size="80"></td><BR>
</tr><BR>
<tr><BR>
<td>暗送人:</td><BR>
<td><input type="text" name="bcc"
size="80"></td><BR>
</tr><BR>
<tr><BR>
<td>主题:</td><BR>
<td><input type="text" name="subject"
size="80"></td><BR>
</tr><BR>
<tr><BR> <td
valign="top">内容:</td><BR>
<td><textarea name="body" rows="5"
cols="80"></textarea></td><BR>
</tr><BR>
<tr><BR> <td
colspan="2" align="center"><input type="submit"
value="发送"></td><BR>
</tr><BR>
</table><BR></form><BR></body><BR></html>
</P>
<P>send.jsp<BR><%<BR>//变量声明<BR>Java.lang.String
smtp,from,to,cc,bcc,subject,body; </P>
<P>//获得用户输入数据<BR>smtp =
request.getParameter("smtp");<BR>from =
request.getParameter("from");<BR>to =
request.getParameter("to");<BR>cc =
request.getParameter("cc");<BR>bcc =
request.getParameter("bcc");<BR>subject =
request.getParameter("subject");<BR>if(subject!=null){<BR>subject
= new
Java.lang.String(subject.getBytes("iso-8859-1"));<BR>}<BR>body
=
request.getParameter("body");<BR>//发送邮件<BR>mymail.mail.HTML.send(smtp,from,to,cc,bcc,subject,body);<BR>%>
</P>
<P>mymail.jaf.StringDataSource.Java<BR>package
mymail.jaf;<BR>public class StringDataSource implements
Javax.activation.DataSource<BR>{<BR>private
Java.lang.String data;<BR> private Java.lang.String
type; </P>
<P> public StringDataSource(Java.lang.String
data,Java.lang.String type){<BR> this.data =
data;<BR> this.type = type;<BR> } </P>
<P> public Java.io.InputStream getInputStream()
throws Java.io.IOException{<BR> return new
Java.io.StringBufferInputStream(data);<BR>} </P>
<P> public Java.io.OutputStream getOutputStream()
throws Java.io.IOException{<BR> throw new
Java.io.IOException("it does not support this method
now!");<BR> } </P>
<P> public Java.lang.String
getContentType(){<BR> return type;<BR>} </P>
<P> public Java.lang.String getName(){<BR> return
" mymail ";<BR>}<BR>} </P>
<P>mymail.mail.HTML.Java<BR>package mymail.mail;</P>
<P>public final class HTML<BR>{<BR>public static void
send(<BR> Java.lang.String smtp,
/*SMTP主机地址*/<BR> Java.lang.String from,
/*发信人*/<BR> Java.lang.String to,
/*收信人*/<BR> Java.lang.String cc,
/*抄送人*/<BR> Java.lang.String
bcc, /*暗送人*/<BR> Java.lang.String subject,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -