Spring JavaMail的示例

1.接口
1  package  com.xzl.mail;
2 
3  public   interface  OrderManager {
4       public   void  placeOrder(String email);
5 
6  }
2.实现
 1  package  com.xzl.mail;
 2 
 3  import  javax.mail.Message;
 4  import  javax.mail.MessagingException;
 5  import  javax.mail.internet.InternetAddress;
 6  import  javax.mail.internet.MimeMessage;
 7 
 8  import  org.springframework.mail.MailException;
 9  import  org.springframework.mail.SimpleMailMessage;
10  import  org.springframework.mail.javamail.JavaMailSender;
11  import  org.springframework.mail.javamail.MimeMessagePreparator;
12 
13  public   class  OrderManagerImpl  implements  OrderManager {
14       private  JavaMailSender mailsender;
15        private  SimpleMailMessage message;
16      
17      
18            public   void  setMessage(SimpleMailMessage message)
19           {
20                this .message  =  message;
21           }
22            public   void  setMailsender(JavaMailSender mailsender) 
23           {
24                this .mailsender  =  mailsender;
25       }
26            public   void  placeOrder( final  String email) {
27              
28       
29               MimeMessagePreparator preparator  =   new  MimeMessagePreparator() {
30                   public   void  prepare(MimeMessage mimeMessage)  throws  MessagingException {
31                       mimeMessage.setRecipient(Message.RecipientType.TO, 
32                                new  InternetAddress(email));
33                       mimeMessage.setFrom( new  InternetAddress(message.getFrom()));
34                        /** 转换编码为GBK */
35                       mimeMessage.setSubject(message.getSubject(), " GBK " );
36                       mimeMessage.setText(email + " <br> " + message.getSubject() + message.getText(), " GBK " );
37                       
38                   }
39               };
40                try {
41                  mailsender.send(preparator);
42               }
43                catch (MailException ex) {
44                    // log it and go on
45                   System.err.println(ex.getMessage());            
46               }
47           }
48 
49  }
50 
3.测试用例
 1  package  com.xzl.mail;
 2 
 3  import  org.springframework.beans.factory.BeanFactory;
 4  import  org.springframework.beans.factory.xml.XmlBeanFactory;
 5  import  org.springframework.core.io.ClassPathResource;
 6  import  org.springframework.core.io.Resource;
 7 
 8  public   class  SpringMailTest {
 9 
10       /**
11       *  @param  args
12        */
13       public   static   void  main(String[] args) {
14           //  TODO Auto-generated method stub
15          Resource res  =   new  ClassPathResource( " xxx.xml " );
16          BeanFactory bf  =   new  XmlBeanFactory(res);
17          OrderManagerImpl mail  =  (OrderManagerImpl)bf.getBean( " orderManager " );
18          mail.placeOrder( " jo.o@163.com " );
19      }
20 
21  }
22 
4.XML文件
 1  <? xml version="1.0" encoding="UTF-8" ?>
 2     <! DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
 3        "http://www.springframework.org/dtd/spring-beans.dtd" >
 4    
 5     < beans >
 6         < bean  id ="mailSender"  class ="org.springframework.mail.javamail.JavaMailSenderImpl" >
 7             < property  name ="host" >
 8                 < value > smtp.163.com </ value >
 9             </ property >
10            < property  name ="username" >
11                < value > USERNAME </ value >
12            </ property >
13            < property  name ="password" >
14                < value > PASSWORD </ value >
15            </ property >
16            < property  name ="javaMailProperties" >
17                < props >
18                    < prop  key ="mail.smtp.auth" > true </ prop >
19                    < prop  key ="mail.smtp.timeout" > 25000 </ prop >
20                </ props >
21            </ property >
22        </ bean >
23   
24        < bean  id ="mailMessage"  class ="org.springframework.mail.SimpleMailMessage" >
25            < property  name ="from" >
26                < value > EMAIL </ value >
27            </ property >
28            < property  name ="subject" >
29                < value > 标题 </ value >
30            </ property >
31            < property  name ="text" >
32                < value > 内容 </ value >
33            </ property >
34        </ bean >
35   
36        < bean  id ="orderManager"  class ="com.xzl.mail.OrderManagerImpl" >
37            < property  name ="mailsender" >
38                < ref  bean ="mailSender"   />
39            </ property >
40            < property  name ="message" >
41                < ref  bean ="mailMessage"   />
42            </ property >
43        </ bean >
44   
45    </ beans >
5.完成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值