郵件例程 - JavaMail - 發送HTML郵件

14 篇文章 0 订阅
 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
========
<%--
作者:何志強[hhzqq@21cn.com]
日期:2000-08-16
版本:1.0
功能:郵件例程 - JavaMail - 發送HTML郵件
--%>

<%
//變量聲明
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");

//發送郵件
pipi.mail.HTML.send(smtp,from,to,cc,bcc,subject,body);
%>

pipi.jaf.StringDataSource.java
==============================
/*
作者:何志強[hhzqq@21cn.com]
日期:2000-08-16
功能:字符串型數據源
*/

package pipi.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 "pipi";
   }
}

pipi.mail.HTML.java
===================
/*
作者:何志強[hhzqq@21cn.com]
日期:2000-08-16
功能:發送HTML郵件
*/

package pipi.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");

      //設置郵件內容
      mimeMsg.setDataHandler(new javax.activation.DataHandler(new pipi.jaf.StringDataSource(body,"text/html")));

      //發送郵件
      javax.mail.Transport.send(mimeMsg);
   }
}

本套程序使用到JavaMail和JAVABEANS(TM) ACTIVATION FRAMEWORK(JAF):
  JavaMail
     http://java.sun.com/products/javamail/
  JAVABEANS(TM) ACTIVATION FRAMEWORK(JAF)
     http://java.sun.com/products/javabeans/glasgow/jaf.html
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值