欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaMail实现发送超文本(html)格式邮件的方法

程序员文章站 2024-03-03 19:29:52
本文实例讲述了javamail实现发送超文本(html)格式邮件的方法。分享给大家供大家参考。具体如下: 附件以超文本形式,很常用,与普通的邮件,只是查了一些设置,只有处...

本文实例讲述了javamail实现发送超文本(html)格式邮件的方法。分享给大家供大家参考。具体如下:

附件以超文本形式,很常用,与普通的邮件,只是查了一些设置,只有处理方式有些细微的差别

代码如下:

<%@ page contenttype="text/html;charset=gbk" %>
<%@ page import="java.util.*"%>
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*"%>
<%@ page import="javax.activation.*" %>
<%
try{
 request.setcharacterencoding("gbk");
 string from=request.getparameter("from");
 string to=request.getparameter("to");
 string subject=request.getparameter("subject");
 string messagetext=request.getparameter("content");
  string password=request.getparameter("password");
 //****如果是在internet上发送电子邮件,
 使用这段代码自动生成smtp的主机名称********/
 //int n =from.indexof('@');
 //int m=from.length() ;
 //string mailserver ="smtp."+from.substring(n+1,m);
  string mailserver="mrlx";
  //在局域网上发送电子邮件使用这句代码指定smtp服务器
  properties prop =new properties();
  prop.put("mail.smtp.host",mailserver);
  prop.put("mail.smtp.auth","true");
  session sess =session.getinstance(prop);
  sess.setdebug(true);
  mimemessage message=new mimemessage(sess);
  //给消息对象设置收件人、发件人、主题、发信时间
  internetaddress mail_from =new internetaddress(from);
  message.setfrom(mail_from);
  internetaddress mail_to =new internetaddress(to);
  message.setrecipient(message.recipienttype.to,mail_to);
  message.setsubject(subject);
  message.setsentdate(new date());
  multipart mul=new mimemultipart();
  //新建一个mimemultipart对象来存放多个bodypart对象
  bodypart mdp=new mimebodypart();
  //新建一个存放信件内容的bodypart对象
  mdp.setcontent(messagetext,"text/html;charset=gbk");
  mul.addbodypart(mdp);
  //将含有信件内容的bodypart加入到mimemulitipart对象中
  message.setcontent(mul);
  //把mul作为消息对象的内容
  message.savechanges();
  transport transport = sess.gettransport("smtp");
  //以smtp方式登陆邮箱,第1个参数是发送邮件用的邮件服务器smtp地址,
  //第2个参数为用户名,第3个参数为密码
  transport.connect(mailserver,from,password);
  transport.sendmessage(message,message.getallrecipients());
  transport.close();
  out.println("<script language='javascript'>alert('邮件已发送!');window.location.href='index.jsp';</script>");
}catch(exception e){
 system.out.println("发送邮件产生的错误:"+e.getmessage());
 out.println("<script language='javascript'>alert('邮件发送失败!');window.location.href='index.jsp';</script>");
}
%>

希望本文所述对大家的java程序设计有所帮助。