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

 更新时间:2015年05月30日 17:16:32   作者:hitxueliang  
这篇文章主要介绍了JavaMail实现发送超文本(html)格式邮件的方法,实例分析了java发送超文本文件的相关技巧,需要的朋友可以参考下

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

相关文章

  • Java基础篇之serialVersionUID用法及注意事项详解

    Java基础篇之serialVersionUID用法及注意事项详解

    这篇文章主要给大家介绍了关于Java基础篇之serialVersionUID用法及注意事项的相关资料,SerialVersionUID属性是用于序列化/反序列化可序列化类的对象的标识符,我们可以用它来记住可序列化类的版本,以验证加载的类和序列化对象是否兼容,需要的朋友可以参考下
    2024-02-02
  • Java 自定义线程池和线程总数控制操作

    Java 自定义线程池和线程总数控制操作

    这篇文章主要介绍了Java 自定义线程池和线程总数控制操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Java编程经典小游戏设计-打砖块小游戏源码

    Java编程经典小游戏设计-打砖块小游戏源码

    这篇文章主要介绍了Java编程经典小游戏设计-打砖块小游戏源码,还是挺不错的,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 解决新版 Idea 中 SpringBoot 热部署不生效的问题

    解决新版 Idea 中 SpringBoot 热部署不生效的问题

    这篇文章主要介绍了解决新版 Idea 中 SpringBoot 热部署不生效的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • 如何查看JVM使用的默认的垃圾收集器

    如何查看JVM使用的默认的垃圾收集器

    这篇文章主要介绍了如何查看JVM使用的默认的垃圾收集器,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java Stream 流实现合并操作示例

    Java Stream 流实现合并操作示例

    这篇文章主要介绍了Java Stream 流实现合并操作,结合实例形式详细分析了Java Stream 流实现合并操作原理与相关注意事项,需要的朋友可以参考下
    2020-05-05
  • Deep Module深模块之软件设计

    Deep Module深模块之软件设计

    这篇文章主要介绍了软件设计之Deep Module深模块详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • JavaEE SpringMVC 请求传参的示例详解

    JavaEE SpringMVC 请求传参的示例详解

    这篇文章详细介绍了SpringMVC中请求参数的传递和接收方式,包括传递单个参数、多个参数、对象参数、数组参数、集合参数以及JSON数据的传递和处理,感兴趣的朋友一起看看吧
    2025-02-02
  • log4j中logger标签中additivity属性的用法说明

    log4j中logger标签中additivity属性的用法说明

    这篇文章主要介绍了log4j中logger标签中additivity属性的用法说明,基于很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java将数字金额转为大写中文金额

    Java将数字金额转为大写中文金额

    这篇文章主要为大家详细介绍了Java将数字金额转为大写中文金额,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08

最新评论