| 
 
                         這次來(lái)看看Spring提高的一些有用過(guò)的JEE中使用到的功能,如 發(fā)送Email, 執(zhí)行定時(shí)任務(wù)... 
 先來(lái)看看發(fā)送Email吧, 在Spring中發(fā)送Email是很簡(jiǎn)單的,使用Spring提高的MailSender和MailMessage就可以了,配置代碼如下: 
 <?xml version="1.0" encoding="UTF-8"?> 
 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" > 
 <beans> 
 <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
 <property name="host"> 
   <value>smtp.163.com</value> 
 </property> 
 <property name="javaMailProperties"> 
   <props> 
     <!-- 如果要使用用戶(hù)名和密碼驗(yàn)證,這一步需要 --> 
     <prop key="mail.smtp.auth">true</prop> 
   </props> 
 </property> 
 <property name="username"> 
 <value>你的Email地址</value> 
 </property> 
 <property name="password"> 
 <value>你的Email密碼</value> 
 </property> 
 
 </bean> 
 <!-- 簡(jiǎn)單的message --> 
 
 <bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage"> 
 <property name="to"> 
 <value>收件人地址</value> 
 </property> 
 <property name="from"> 
 <value>你的地址</value> 
 </property> 
 <property name="subject"> <!-- Email 標(biāo)題 --> 
 <value>A Spring Mail sender</value> 
 </property> 
 </bean> 
 <!-- 測(cè)試發(fā)送的類(lèi) --> 
 
 <bean id="testMailSender" class="test.mail.TestSenderMail"> 
 <property name="mailMessage"> 
 <ref bean="mailMessage"/> 
 </property> 
 <property name="mailSender"> 
 <ref bean="mailSender"/> 
 </property> 
 </bean> 
 
 </beans> 
 上面的配置好以后就可以直接發(fā)送了, 看看TestSenderMail.java的代碼: 
 package test.mail;
 import org.springframework.mail.MailException;
 import org.springframework.mail.MailSender;
 import org.springframework.mail.SimpleMailMessage;
 
 public class TestSenderMail {
 private MailSender mailSender;
 private SimpleMailMessage mailMessage;
 
 public TestSenderMail() {
 
 }
 
 public SimpleMailMessage getMailMessage() {
 return mailMessage;
 }
 public void setMailMessage(SimpleMailMessage mailMessage) {
 this.mailMessage = mailMessage;
 }
 public MailSender getMailSender() {
 return mailSender;
 }
 public void setMailSender(MailSender mailSender) {
 this.mailSender = mailSender;
 }
 
 public void sendMail() {
 SimpleMailMessage message = new SimpleMailMessage(mailMessage);
 //設(shè)置email內(nèi)容,
 message.setText("測(cè)試Spring 發(fā)送Email.");
 
 try {
 mailSender.send(message);
 } catch (MailException e) {
 // TODO Auto-generated catch block
 System.out.println("O . 發(fā)送Email失敗了....");
 e.printStackTrace();
 }
 }
 }
 
 很簡(jiǎn)單吧. 下面是測(cè)試類(lèi): TestApp.java 
 package test.mail;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class TestApp {
 
 /**
 * @param args
 */
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 ApplicationContext context = new ClassPathXmlApplicationContext(
 "test/mail/mail.xml");
 
 TestSenderMail sender = (TestSenderMail) context
 .getBean("testMailSender");
 sender.sendMail();
 }
 //拋出如下異常,是瑞星監(jiān)控的問(wèn)題,關(guān)閉就可以了
 /**
 * DEBUG SMTP: QUIT failed with 250 O . 發(fā)送Email失敗了....
 * org.springframework.mail.MailSendException: Could not send mails: 354
 *
 * com.sun.mail.smtp.SMTPSendFailedException: 354
 *
 * at
 * com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1388)
 * at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1215) at
 * com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:586)
 */
 }
 |