ITPub博客

首页 > 应用开发 > Java > 邮件例程 - JavaMail - 发送HTML邮件 (转)

邮件例程 - JavaMail - 发送HTML邮件 (转)

原创 Java 作者:amyz 时间:2007-11-29 17:00:57 0 删除 编辑
邮件例程 - JavaMail - 发送HTML邮件 (转)[@more@]  .NET.com/cgi-bin/rl_views.cgi?UID=10046270">ASP.com/sqlbbs/elist.asp%3FPage%3D8%26BoardID%3D71" width=1 border=0>

form.htm
========



<A href="tag-377-1.html">邮件</A>例程 - <A href="tag-10-1.html"><A href="leibie-1-1.html">Java</A></A><A href="tag-285-1.html">Mail</A> - 发送HTML邮件





RM method="post" action="send.JSP">

 
 


 
 


 
 


 
 


 
 


 
 


 
 


 


SMTP主机:
发信人:
收信人:
抄送人:
暗送人:
主题:
内容:





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

 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10752019/viewspace-986962/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    3982
  • 访问量
    7891552