发送html格式的邮件

| No Comments | No TrackBacks

我的邮箱是新浪的,发邮件时需要SMTP验证,用下面的文件JavaMail.html与JavaMail.jsp发送成功!
(环境:Tomcat 5.016,需要的包是mail.jar和activation.jar,放到你的WEB应用程序的WEB-INF/lib目录下)
JavaMail.html收集信息
   <html>
<head>
  <title>JavaMail.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
</head>
<body>

<h2>利用JavaMail来发送电子邮件 - HTML格式</h2>
<form name="SendMessage" Method="post" action="JavaMail.jsp" >
  <p>寄信人:<input type="text" name="From" size="30" maxlength="30"></p>
  <p>收信人:<input type="text" name="To" size="30" maxlength="30"></p>
  <p>主题:<input type="text" name="Subject" size="30" maxlength="30"></p>
  <p>格式:<select name="Type" size="1">
<option value="text/plain">Text</option>
<option value="text/html">HTML</option>
           </select></p>
  <p>内容:</p><p><textarea name="Message" cols=40 rows=5></textarea></p>
  
  <input type="submit" value="发送">
  <input type="reset" value="重填">

</form>
</body>
</html>

JavaMail.jsp发送邮件
<%@ page import="javax.mail.*" %>
<%@ page import="javax.activation.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="java.util.*,java.io.*" %>

<%@ page contentType="text/html;charset=GB2312" %>

<html>
<head>
  <title>CH17 - JavaMail2.jsp</title>
</head>
<body>

<h2>利用JavaMail来发送电子邮件 - HTML格式</h2>

<%
InternetAddress[] address = null;
request.setCharacterEncoding("gb2312");
String mailserver   = "smtp.sina.com.cn";
String From         = request.getParameter("From");
String to           = request.getParameter("To");
String Subject      = request.getParameter("Subject");
String type     = request.getParameter("Type");
String messageText  = request.getParameter("Message");

   boolean sessionDebug = false;

try {

   // 设定所要用的Mail 服务器和所使用的传输协议
   java.util.Properties props = System.getProperties();
    props.put("mail.host",mailserver);
   props.put("mail.transport.protocol","smtp");
                props.put("mail.smtp.auth", "true");//指定是否需要SMTP验证
  
   // 产生新的Session 服务
   javax.mail.Session mailSession = javax.mail.Session.getDefaultInstance(props,null);
   mailSession.setDebug(sessionDebug);
Message msg = new MimeMessage(mailSession);
  
   // 设定发邮件的人
   msg.setFrom(new InternetAddress(From));
  
   // 设定收信人的信箱
   address = InternetAddress.parse(to,false);
   msg.setRecipients(Message.RecipientType.TO, address);
  
   // 设定信中的主题 
   msg.setSubject(Subject);
  
   // 设定送信的时间
   msg.setSentDate(new Date());

   Multipart mp = new MimeMultipart();
   MimeBodyPart mbp = new MimeBodyPart();
      
   // 设定邮件内容的类型为 text/plain 或 text/html
   mbp.setContent(messageText,type + ";charset=GB2312");
   mp.addBodyPart(mbp);
   msg.setContent(mp);

               Transport transport = mailSession.getTransport("smtp");
               ////请填入你的邮箱用户名和密码,千万别用我的^_^
               transport.connect(mailserver, "zz3zcwb", "1234567");
               transport.sendMessage(msg, msg.getAllRecipients());
               transport.close();
  //Transport.send(msg);
  out.println("邮件已顺利发送");

}
    catch (MessagingException mex) 
    {
       mex.printStackTrace();
                out.println(mex);
     }
%>

</body>
</html>

如果你成功了,不要忘了给我发邮件啊!!

No TrackBacks

TrackBack URL: http://www.wujianrong.com/mt-tb.cgi/1737

Leave a comment

相关文档

上一篇:如何创建自解压的jar文件 .

下一篇:List用法一例