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

时间:2022-08-23 17:34:42

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

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

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<%@ 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程序设计有所帮助。