您的位置:学习中国 推荐教程 正文
原作者:kuku 添加时间:2007-06-02 原文发表:2007-06-02 人气:4 来源:互联网

本文章共7642字,分7页,当前第7页,快速翻页:
 
-----------------------------------------------------------------------------------------------------------------------------------------------

本文提示:《JSP与Java Mail API(7)》是本站编辑们为广大网友精选的实用文章,本文阐述了关于文章的相关理论,相对来说专业性强,但是本文只是针对于某个问题提出的见解与论述,未必能辐射到相关问题的方方面面,所以本文处理问题的方法仅仅为您提供一些参考。更多问题请查阅学习中国网其他栏目哦.

-----------------------------------------------------------------------------------------------------------------------------------------------


  如何发送HTML类型的邮件

  在上面的例子中,我们实现了如何发送文本格式的邮件,那么HTML格式的邮件该如何发送呢?那就看看下面的例子吧。
  该例由四个文件组成:
  ·form.htm:用来建立邮件信息的表单
  ·send.jsp:用来获取表单提交的信息,并调用mymail.mail.HTML.send()方法发送邮件
  ·StringDataSource.Java:用户自定义的JavaBean,用来将邮件的Body部分转化为HTML格式
  ·HTML.Java:用户自定义的JavaBean,用来发送HTML格式的邮件。在send.jsp文件中提到的mymail.mail.HTML.send()方法就在该JavaBean中定义。

form.htm
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title> JavaMail - 发送HTML邮件</title>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0">
<form method="post" action="send.jsp">
<tr>
<td>SMTP主机:</td>
<td><input type="text" name="smtp" size="80"></td>
</tr>
<tr>
<td>发信人:</td>
<td><input type="text" name="from" size="80"></td>
</tr>
<tr>
<td>收信人:</td>
<td><input type="text" name="to" size="80"></td>
</tr>
<tr>
<td>抄送人:</td>
<td><input type="text" name="cc" size="80"></td>
</tr>
<tr>
<td>暗送人:</td>
<td><input type="text" name="bcc" size="80"></td>
</tr>
<tr>
<td>主题:</td>
<td><input type="text" name="subject" size="80"></td>
</tr>
<tr>
<td valign="top">内容:</td>
<td><textarea name="body" rows="5" cols="80"></textarea></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="发送"></td>
</tr>
</form>
</table>
</body>
</html>

send.jsp
<%
//变量声明
Java.lang.String smtp,from,to,cc,bcc,subject,body;

//获得用户输入数据
smtp = request.getParameter("smtp");
from = request.getParameter("from");
to = request.getParameter("to");
cc = request.getParameter("cc");
bcc = request.getParameter("bcc");
subject = request.getParameter("subject");
if(subject!=null){
subject = new Java.lang.String(subject.getBytes("iso-8859-1"));
}
body = request.getParameter("body");
//发送邮件
mymail.mail.HTML.send(smtp,from,to,cc,bcc,subject,body);
%>

mymail.jaf.StringDataSource.Java
package mymail.jaf;
public class StringDataSource implements Javax.activation.DataSource
{
private Java.lang.String data;
  private Java.lang.String type;

    public StringDataSource(Java.lang.String data,Java.lang.String type){
        this.data = data;
  this.type = type;
  }

    public Java.io.InputStream getInputStream() throws Java.io.IOException{
        return new Java.io.StringBufferInputStream(data);
}

  public Java.io.OutputStream getOutputStream() throws Java.io.IOException{
      throw new Java.io.IOException("it does not support this method now!");
 }

 public Java.lang.String getContentType(){
          return type;
}

  public Java.lang.String getName(){
      return " mymail ";
}
}

mymail.mail.HTML.Java
package mymail.mail;

public final class HTML
{
public static void send(
   Java.lang.String smtp,   /*SMTP主机地址*/
   Java.lang.String from,   /*发信人*/
    Java.lang.String to,   /*收信人*/
    Java.lang.String cc,   /*抄送人*/
    Java.lang.String bcc,  /*暗送人*/
    Java.lang.String subject, /*主题*/
    Java.lang.String body /*内容*/
        ) throws Java.lang.Exception
{
   //变量声明
     Java.util.Properties props;   //系统属性
   Javax.mail.Session mailSession;   //邮件会话对象
     Javax.mail.internet.MimeMessage mimeMsg; //MIME邮件对象

   //设置系统属性
     props = Java.lang.System.getProperties(); //获得系统属性对象
   props.put("mail.smtp.host",smtp); //设置SMTP主机

     //获得邮件会话对象
   mailSession = Javax.mail.Session.getDefaultInstance(props,null);

     //创建MIME邮件对象
   mimeMsg = new Javax.mail.internet.MimeMessage(mailSession);

     //设置发信人
   mimeMsg.setFrom(new Javax.mail.internet.InternetAddress(from));

     //设置收信人
   if(to!=null)
{
mimeMsg.setRecipients(Javax.mail.Message.RecipientType.TO,Javax.mail. internet.InternetAddress.parse(to));
     }

   //设置抄送人
     if(cc!=null)
{
mimeMsg.setRecipients(Javax.mail.Message.RecipientType.CC,Javax.mail. internet.InternetAddress.parse(cc));
     }

//设置暗送人
if(bcc!=null)
{
mimeMsg.setRecipients(Javax.mail.Message.RecipientType.BCC,Javax.mail. internet.InternetAddress.parse(bcc));
     }

   //设置邮件主题
     //mimeMsg.setSubject(subject);
   mimeMsg.setSubject(subject,"gb2312");

     //设置邮件内容,将邮件body部分转化为HTML格式
   mimeMsg.setDataHandler(new Javax.activation.DataHandler(new mymail.jaf. StringDataSource (body,"text/html")));

   //发送邮件
     Javax.mail.Transport.send(mimeMsg);
 }
}

 
本文章更多内容<<上一页 - 1 - 2 - 3 - 4 - 5 - 6 - 7
本页地址
相关文章

JSP安全性初探<2>
JSP安全性初探<1>
JSP漏洞大观<2>
JSP漏洞大观<1>
Jsp如何实现网页的重定向
JSP的login程序代码
也谈JSP与XML的交互
利用RamdonAccessFile来实现文件的追加
关于JSP中文问题的解决方法
JSP设计模式
JSP与XML的结合<1>
JSP与XML的结合<2>
JSP与XML的结合<3>
缓冲技术提高JSP程序性能和稳定性<1>
缓冲技术提高JSP程序性能和稳定性<2>
JSP中图片验证的实现
利用iText在JSP中生成PDF报表
win2k下搭建jsp环境
PHP实例:email address 生成图片程序
PHP+MySQL扎实基本功

相关评论


本文章所属分类:首页 推荐教程   JSP编程