springjavamail과quartz를 통합하여 정해진 시간에 메일을 보내기

9133 단어 j2ee
1.spring 통합javamail---applicationContext-javamail-beans.xml
코드:



 		
	  
          
          
          
          
          
         
          
          
          
          
               
                 true  
                 25000  
               
          
	  

 
  
2.spring   quartz; applicationContext-javamail-quartz.xml	
	   :


	
	
	
		   
		   
		  
	
 
  
	
	
		
			
			
				
						    
						    	
								    
								    
								    
								
						    
						    
						         0 0/1 * * * ?
						    
				
			
		
	
	

3.spring xml
	        

4. (com.hc360.logistics.thread.SendMailTask)
	
package com.hc360.logistics.thread;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.hc360.logistics.service.SendService;

/**
 *       
 * @author mwang
 */
public class SendMailTask {
	private final static Logger log = LoggerFactory.getLogger(SendMailTask.class);
	@Autowired
	private SendService sendServiceImpl; 
	private void run() {
		sendServiceImpl.send();  //      
		log.info("     ...");
	}
}
5.    JavaMailSender    : MailSenderFactory.java
	
package com.hc360.logistics.common.util;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.mail.javamail.JavaMailSender;
public class MailSenderFactory {  
    //   JavaMailSender bean   
    public static JavaMailSender getJavaMailSender() {  
        ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-javamail-beans.xml");  
        return (JavaMailSender) context.getBean("mail");  
    }  
}  
6. ( : ,html , ( html ))(SendService)
package com.hc360.logistics.service;

public interface SendService {
	 public void send();  
}

7. 구현 클래스: SendHtmlMailServiceImpl.java
 
  
	   :
package com.hc360.logistics.service.impl;
import java.util.Date;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import com.hc360.logistics.common.util.MailSenderFactory;
import com.hc360.logistics.service.SendService;

@Service
public class SendHtmlMailServiceImpl implements SendService {
	@Override
	public void send() {
		JavaMailSender mailSender = MailSenderFactory.getJavaMailSender();
		MimeMessage mimeMessage = mailSender.createMimeMessage();
		try {
			System.out.println("HTML          ...");
			//   utf-8 GBK  ,        
			MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true,
					"UTF-8");
			//        
			helper.setFrom("[email protected]");
			//           
			helper.setTo(new InternetAddress("\""
					+ MimeUtility.encodeText("sina  ") + "\" "));//    
			//       
			helper.setSentDate(new Date());
			//       
			helper.setReplyTo(new InternetAddress("[email protected]"));
			//           
			helper.setCc(InternetAddress.parse(MimeUtility.encodeText("   001")
					+ " ," + MimeUtility.encodeText("   002")
					+ " "));
			//   
			helper.setSubject("  ");
			//     ,     true,    html  
			helper.setText(
					"

hello!!잡스입니다.

", // html true); // mailSender.send(mimeMessage); } catch (Exception e) { e.printStackTrace(); } System.out.println("HTML !!!"); } }

8. 문제 발생:
 
  
	geronimo-spec-javamail-1.3.1-rc3.jar            ,    mail.jar
	

좋은 웹페이지 즐겨찾기