Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1665976
  • 博文数量: 585
  • 博客积分: 14610
  • 博客等级: 上将
  • 技术积分: 7402
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-15 10:52
文章存档

2013年(5)

2012年(214)

2011年(56)

2010年(66)

2009年(44)

2008年(200)

分类:

2008-05-15 16:10:29

JavaMail-4:邮件模板的套用(例论坛注册回复邮件) 邮件模板的套用:

1.编写前端页面,简单起见只输入注册用户名及邮箱地址

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>JavaMail4.html</title>
  </head>
  
  <body>
    <form action="SEND4" method="post">
          username:<input type="text" name="uname"><br>
          Email:<input type="text" name="email"><br>
          <input type="submit" value="submit">
     </form>
  </body>
</html>



 2.编写一个回复的HTML模板,起名为mail.properties

message=<html><body><h2>Hi,<font color=red> {0} </font>, your password is : {1} , Welcome to : <a href="http://blog.csdn.net/CodeDestiny/">My Blog</a></h2></body></html>
3.编写servlet : SEND4.java

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.MessageFormat;
import java.util.Date;
import java.util.Properties;
import java.util.ResourceBundle;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SEND4 extends HttpServlet ...{

    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException ...{

        response.setContentType("text/html;charset=GB18030");
        PrintWriter out = response.getWriter();
        request.setCharacterEncoding("GB18030");
        
        //绑定邮件模版,mail对应mail.properties

        ResourceBundle messages = ResourceBundle.getBundle("mail");
        
        String from = "admin@codedestiny-pc.com";
        String to = request.getParameter("email");
        String subject = "欢迎你注册";
        String uname = request.getParameter("uname");
        String upass = "codedestiny-pc";
        
        // 确定要发送的邮件服务器的地址

        String mailserver = "codedestiny-pc";
        
        try ...{
            Object[] args = ...{uname,upass};
            
            //新建标准的格式

            MessageFormat formatter = new MessageFormat("");
                        
            //从资源文件中获取相应的模版信息

            formatter.applyPattern(messages.getString("message"));
            
            //填充模版,产生回复信息

            String msgtext = formatter.format(args);
            
            Properties prop = System.getProperties();
            prop.put("mail.smtp.host", mailserver);
            
            // 建立邮件发送的连接

            Session session = Session.getDefaultInstance(prop, null);
            
            // 创建发送的信息的载体

            Message msg = new MimeMessage(session);
            
            // 设置相关的邮件属性

            msg.setFrom(new InternetAddress(from));
            
            // 点到点的发送

            msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
        
            msg.setSubject(subject);
            msg.setSentDate(new Date());
            MimeBodyPart mbp = new MimeBodyPart();
            mbp.setContent(msgtext, "text/html;charset=GB18030");
            Multipart mp = new MimeMultipart();
            mp.addBodyPart(mbp);
            msg.setContent(mp);
            
            // 发送

            Transport.send(msg);
            
        } catch (Exception e) ...{
            e.printStackTrace();
        }
        out.print("Register is OK!
"
);
        out.print("查看信件");
        out.flush();
        out.close();
    }

}
阅读(1657) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~