您现在的位置: 天极网 > 开发频道 > web开发 > JSP与Java Mail API
全文

JSP与Java Mail API

2002-04-24 16:14作者:包路跃出处:Yesky责任编辑:

  如何发送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);
 }
}
共5页。 9 7 1 2 3 4 5 8 :

软件资讯·软件下载尽在天极软件

相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众