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

所属分类: 软件编程 / java 阅读数: 43
收藏 0 赞 0 分享

本文实例讲述了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程序设计有所帮助。

更多精彩内容其他人还在看

SpringBoot中使用Ehcache的详细教程

EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。这篇文章主要介绍了SpringBoot中使用Ehcache的相关知识,需要的朋友可以参考下
收藏 0 赞 0 分享

在idea 中添加和删除模块Module操作

这篇文章主要介绍了在idea 中添加和删除模块Module操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java spring整合junit操作(有详细的分析过程)

这篇文章主要介绍了java spring整合junit操作(有详细的分析过程),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解JAVA 弱引用

这篇文章主要介绍了 JAVA 弱引用的相关资料,帮助大家更好的理解和学习java引用对象,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

深入了解JAVA 虚引用

这篇文章主要介绍了JAVA 虚引用的相关资料,帮助大家更好的理解和学习JAVA,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

详解JAVA 强引用

这篇文章主要介绍了JAVA 强引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

java中的按位与(&)用法说明

这篇文章主要介绍了java中的按位与(&)用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

深入了解JAVA 软引用

这篇文章主要介绍了JAVA 软引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

利用MyBatis实现条件查询的方法汇总

这篇文章主要给大家介绍了关于利用MyBatis实现条件查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MyBatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.PathTranslator was bound

这篇文章主要介绍了Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.Pa
收藏 0 赞 0 分享
查看更多