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 :  < 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!<br>");
        out.print(
"<a href='http://localhost/mail/index.asp'>查看信件</a>");
        out.flush();
        out.close();
    }


}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值