spring mail

来源:互联网 发布:xyz域名的价值 编辑:程序博客网 时间:2024/05/22 06:27

一、发送带HTML格式的邮件

 

可指定,邮件发送人,接收人,抄送人,秒送人。。。支持多人

 

SendMail.java

 

Java代码  收藏代码
  1. package com.tht.common.mail;  
  2.   
  3.   
  4.   
  5.   
  6.   
  7.   
  8. import java.util.Properties;  
  9.   
  10. import javax.mail.MessagingException;  
  11. import javax.mail.internet.MimeMessage;  
  12.   
  13. import org.apache.log4j.Logger;  
  14. import org.springframework.mail.javamail.JavaMailSenderImpl;  
  15. import org.springframework.mail.javamail.MimeMessageHelper;  
  16.   
  17. public class SendMail {  
  18.   
  19.     Logger log=Logger.getLogger(SendMail.class);  
  20.    
  21.       
  22.   
  23.   
  24.   
  25.       public boolean sendMail(String[] tos,String[] cc,String[] bcc,String service,String from,String username,String password,String subject,String htmlText){  
  26.         JavaMailSenderImpl senderImpl=new JavaMailSenderImpl();  
  27.   
  28.         //设置收件人、寄件人、主题与正文  
  29.         try {  
  30.   
  31.            // Properties p=PropertiesUtil.getProperties("properties/cmail.properties");  
  32.              //设置Mail Server  
  33.             senderImpl.setHost(service);  
  34.   
  35.              //建立邮件消息  
  36.              MimeMessage mailMessage=senderImpl.createMimeMessage();  
  37.              MimeMessageHelper messageHelper=new MimeMessageHelper(mailMessage,true,"UTF-8");  
  38.   
  39.               Properties prop=new Properties();  
  40.               prop.put( "mail.smtp.auth" ,  "true" ) ;  //  将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确  
  41.               prop.put( "mail.smtp.timeout" ,  "25000" ) ;  
  42.               senderImpl.setJavaMailProperties(prop);  
  43.               senderImpl.setUsername(username);  
  44.               senderImpl.setPassword(password);  
  45.               messageHelper.setSubject(subject);  
  46.   
  47.             //邮件接收人  
  48.             messageHelper.setTo(tos);  
  49.              //钞送  
  50.             if(cc!=null && cc.length>0){  
  51.                 messageHelper.setCc(cc);  
  52.             }  
  53.   
  54.             //密送  
  55.            if(bcc!=null && bcc.length>0){  
  56.                  messageHelper.setBcc(bcc);  
  57.             }  
  58.             
  59.            
  60.            messageHelper.setFrom(from);  
  61.          
  62.             
  63.             messageHelper.setText(htmlText,true);  
  64.   
  65.             //传送邮件  
  66.             senderImpl.send(mailMessage);  
  67.              
  68.         } catch (MessagingException e) {  
  69.             log.error(e.getMessage(), e.fillInStackTrace());  
  70.             return false;  
  71.         }  
  72.   
  73.           return true;  
  74.     }  
  75.   
  76.   
  77.   
  78. }  

 

 

 

 

Runsendmail.java代码  收藏代码
  1. import java.util.ArrayList;  
  2. import java.util.List;  
  3.   
  4. import org.apache.log4j.Logger;  
  5.   
  6. import com.tht.common.mail.SendMail;  
  7.   
  8.   
  9. public class RunSendMail {  
  10.       
  11.      Logger log=Logger.getLogger(RunSendMail.class);  
  12.   
  13.     /**  
  14.      * @param args  
  15.      */  
  16.     public static void main(String[] args) {  
  17.         RunSendMail runSendMail=new RunSendMail();  
  18.         SendMail sendMail=new SendMail();  
  19.           
  20.         /**  
  21.          * 邮件接收人  
  22.          */  
  23.         String[] tos={"m800400@163.com","thinktothings@gmail.com"};  
  24.           
  25.           
  26.         /**  
  27.          * 邮件抄送人  
  28.          */  
  29.         String[] cc={"m800400@163.com","thinktothings@gmail.com"};  
  30.           
  31.           
  32.         /**  
  33.          * 密送  
  34.          */  
  35.         String[] bbc={"thinktothings@gmail.com"};  
  36.           
  37.           
  38. /*      String username="testthinks@163.com";  
  39.           
  40.         String password="Test123";*/  
  41.           
  42.           
  43.         /**  
  44.          * 发送邮件的服务器  
  45.          */  
  46.        String service="smtp.163.com";  
  47.           
  48.        String username="m800400@163.com";  
  49.           
  50.         String password="@m800400";  
  51.           
  52.           
  53.         /**  
  54.          * 发件人(显示,有些邮件服务商需要与用户验证名一致)  
  55.          */  
  56.         String from ="m800400@163.com";  
  57.           
  58.         String subject="test subject";  
  59.           
  60.         String htmlText="<html><head><title>Title test</title></head><body><h1>Receive attach Please</h1>Have problems email to contact Please.  liuwen@m800400.com</body></html>";  
  61.           
  62.           
  63.         boolean result=sendMail.sendMail(tos,cc,bbc,service,from,username,password,subject,htmlText);  
  64.           
  65.         runSendMail.log.debug("send mail info: "  +" from ("+from+" )   tos ("+runSendMail.arrayToString(tos, ",")+")    cc (" +runSendMail.arrayToString(cc, " ")+")");  
  66.         runSendMail.log.debug("send mail result:"+result);  
  67.   
  68.     }  
  69.       
  70.       
  71.     /**  
  72.      * 将数组转成字符串  
  73.      * @param strs  
  74.      * @param split  
  75.      * @return  
  76.      */  
  77.     public  String arrayToString(String[] strs,String split){  
  78.         StringBuffer stb=new StringBuffer();  
  79.         if(strs!=null && strs.length>0){  
  80.             for(String s:strs){  
  81.                 stb.append(s).append(split);  
  82.             }  
  83.       
  84.         }  
  85.         return stb.toString();  
  86.     }  
  87.   
  88. }  

 

 

二、发送带HTML格式的邮件和附件的邮件

 

可指定,邮件发送人,接收人,抄送人,秒送人。。。支持多人,支持带附件

 

 

 

Java代码  收藏代码
  1. package com.tht.common.mail;  
  2.   
  3.   
  4.   
  5.   
  6.   
  7.   
  8. import java.io.File;  
  9. import java.util.Properties;  
  10.   
  11. import javax.mail.MessagingException;  
  12. import javax.mail.internet.MimeMessage;  
  13.   
  14. import org.apache.log4j.Logger;  
  15. import org.springframework.mail.javamail.JavaMailSenderImpl;  
  16. import org.springframework.mail.javamail.MimeMessageHelper;  
  17.   
  18. public class AttachedMulti {  
  19.   
  20.     Logger log=Logger.getLogger(AttachedMulti.class);  
  21.    
  22.       
  23.   
  24.   
  25.   
  26.       public boolean sendMail(String[] filePaths,String[] tos,String[] cc,String[] bcc,String service,String from,String username,String password,String subject,String htmlText){  
  27.         JavaMailSenderImpl senderImpl=new JavaMailSenderImpl();  
  28.   
  29.         //设置收件人、寄件人、主题与正文  
  30.         try {  
  31.   
  32.            // Properties p=PropertiesUtil.getProperties("properties/cmail.properties");  
  33.              //设置Mail Server  
  34.             senderImpl.setHost(service);  
  35.   
  36.              //建立邮件消息  
  37.              MimeMessage mailMessage=senderImpl.createMimeMessage();  
  38.              MimeMessageHelper messageHelper=new MimeMessageHelper(mailMessage,true,"UTF-8");  
  39.   
  40.               Properties prop=new Properties();  
  41.               prop.put( "mail.smtp.auth" ,  "true" ) ;  //  将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确  
  42.               prop.put( "mail.smtp.timeout" ,  "25000" ) ;  
  43.               senderImpl.setJavaMailProperties(prop);  
  44.               senderImpl.setUsername(username);  
  45.               senderImpl.setPassword(password);  
  46.               messageHelper.setSubject(subject);  
  47.   
  48.             //邮件接收人  
  49.             messageHelper.setTo(tos);  
  50.              //钞送  
  51.             if(cc!=null && cc.length>0){  
  52.                 messageHelper.setCc(cc);  
  53.             }  
  54.   
  55.             //密送  
  56.            if(bcc!=null && bcc.length>0){  
  57.                  messageHelper.setBcc(bcc);  
  58.             }  
  59.             
  60.            
  61.            messageHelper.setFrom(from);  
  62.          
  63.             
  64.             messageHelper.setText(htmlText,true);  
  65.               
  66.               
  67.             //第一个附件  
  68.   
  69.                if(filePaths!=null && filePaths.length>0){  
  70.   
  71.                     for(int i=0;i<filePaths.length;i++){  
  72.                         File file=new File(filePaths[i]);  
  73.                              if(file.exists()){  
  74.                                  messageHelper.addAttachment(file.getName(),file);  
  75.                               }                
  76.                     }  
  77.   
  78.                 }  
  79.   
  80.               
  81.               
  82.   
  83.             //传送邮件  
  84.             senderImpl.send(mailMessage);  
  85.              
  86.         } catch (MessagingException e) {  
  87.             log.error(e.getMessage(), e.fillInStackTrace());  
  88.             return false;  
  89.         }  
  90.   
  91.           return true;  
  92.     }  
  93.   
  94.   
  95.   
  96. }  

 

 

 

Java代码  收藏代码
  1. import java.util.ArrayList;  
  2. import java.util.List;  
  3.   
  4. import org.apache.log4j.Logger;  
  5.   
  6. import com.tht.common.mail.AttachedMulti;  
  7. import com.tht.common.mail.SendMail;  
  8.   
  9.   
  10. public class RunAttachedMulti {  
  11.       
  12.      Logger log=Logger.getLogger(RunAttachedMulti.class);  
  13.   
  14.     /** 
  15.      * @param args 
  16.      */  
  17.     public static void main(String[] args) {  
  18.         RunAttachedMulti runSendMail=new RunAttachedMulti();  
  19.         AttachedMulti sendMail=new AttachedMulti();  
  20.           
  21.           
  22.         //String[] files={"data/test2.zip","data/apache-tomcat-6.0.32-windows-x64.zip"};  
  23.           
  24.         String[] files={"data/test2.zip"};  
  25.           
  26.         /** 
  27.          * 邮件接收人 
  28.          */  
  29.     //  String[] tos={"thinktothings@gmail.com","liuwen@m800400.com","thinktothings@163.com"};  
  30.           
  31.         String[] tos={"thinktothings@gmail.com","thinktothings@163.com"};  
  32.         /** 
  33.          * 邮件抄送人 
  34.          */  
  35.         //String[] cc={"m800400@163.com","thinktothings@gmail.com","thinktothings@163.com"};  
  36.         String[] cc=null;  
  37.           
  38.         /** 
  39.          * 密送 
  40.          */  
  41.         String[] bbc={"thinktothings@gmail.com"};  
  42.           
  43.           
  44.     String username="m800400@163.com";  
  45.           
  46.         String password="@m800400";  
  47.           
  48.           
  49.         /** 
  50.          * 发送邮件的服务器 
  51.          */  
  52.         String service="smtp.163.com";  
  53.           
  54.   
  55.           
  56.           
  57.         /** 
  58.          * 发件人(显示,有些邮件服务商需要与用户验证名一致) 
  59.          */  
  60.         String from ="m800400@163.com";  
  61.           
  62.         String subject="test subject";  
  63.           
  64.         String htmlText="<html><head><title>Title test</title></head><body><h1>Receive attach Please</h1>Have problems email to contact Please.  liuwen@m800400.com</body></html>";  
  65.           
  66.           
  67.         boolean result=sendMail.sendMail(files,tos,cc,bbc,service,from,username,password,subject,htmlText);  
  68.           
  69.         runSendMail.log.debug("send mail info: "  +" from ("+from+" )   tos ("+runSendMail.arrayToString(tos, ",")+")    cc (" +runSendMail.arrayToString(cc, ",")+")"+"  attachedFiles ("+runSendMail.arrayToString(files, ",")+")");  
  70.         runSendMail.log.debug("send mail result:"+result);  
  71.   
  72.     }  
  73.       
  74.       
  75.     /** 
  76.      * 将数组转成字符串 
  77.      * @param strs 
  78.      * @param split 
  79.      * @return 
  80.      */  
  81.     public  String arrayToString(String[] strs,String split){  
  82.         StringBuffer stb=new StringBuffer();  
  83.         if(strs!=null && strs.length>0){  
  84.             for(String s:strs){  
  85.                 stb.append(s).append(split);  
  86.             }  
  87.       
  88.         }  
  89.         return stb.toString();  
  90.     }  
  91.   
  92. }  
原创粉丝点击