`
thinktothings
  • 浏览: 784934 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring mail

    博客分类:
  • Mail
阅读更多

一、发送带HTML格式的邮件

 

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

 

SendMail.java

 

package com.tht.common.mail;






import java.util.Properties;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.apache.log4j.Logger;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

public class SendMail {

    Logger log=Logger.getLogger(SendMail.class);
 
    



      public boolean sendMail(String[] tos,String[] cc,String[] bcc,String service,String from,String username,String password,String subject,String htmlText){
        JavaMailSenderImpl senderImpl=new JavaMailSenderImpl();

        //设置收件人、寄件人、主题与正文
        try {

           // Properties p=PropertiesUtil.getProperties("properties/cmail.properties");
             //设置Mail Server
            senderImpl.setHost(service);

             //建立邮件消息
             MimeMessage mailMessage=senderImpl.createMimeMessage();
             MimeMessageHelper messageHelper=new MimeMessageHelper(mailMessage,true,"UTF-8");

              Properties prop=new Properties();
              prop.put( "mail.smtp.auth" ,  "true" ) ;  //  将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
              prop.put( "mail.smtp.timeout" ,  "25000" ) ;
              senderImpl.setJavaMailProperties(prop);
              senderImpl.setUsername(username);
              senderImpl.setPassword(password);
              messageHelper.setSubject(subject);

            //邮件接收人
            messageHelper.setTo(tos);
             //钞送
            if(cc!=null && cc.length>0){
                messageHelper.setCc(cc);
            }

            //密送
           if(bcc!=null && bcc.length>0){
            	 messageHelper.setBcc(bcc);
            }
          
         
           messageHelper.setFrom(from);
       
          
            messageHelper.setText(htmlText,true);

            //传送邮件
            senderImpl.send(mailMessage);
           
        } catch (MessagingException e) {
            log.error(e.getMessage(), e.fillInStackTrace());
            return false;
        }

          return true;
    }



}

 

 

 

 

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import com.tht.common.mail.SendMail;


public class RunSendMail {
	
	 Logger log=Logger.getLogger(RunSendMail.class);

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		RunSendMail runSendMail=new RunSendMail();
		SendMail sendMail=new SendMail();
		
		/**
		 * 邮件接收人
		 */
		String[] tos={"m800400@163.com","thinktothings@gmail.com"};
		
		
		/**
		 * 邮件抄送人
		 */
		String[] cc={"m800400@163.com","thinktothings@gmail.com"};
		
		
		/**
		 * 密送
		 */
		String[] bbc={"thinktothings@gmail.com"};
		
		
/*		String username="testthinks@163.com";
		
		String password="Test123";*/
		
		
		/**
		 * 发送邮件的服务器
		 */
	   String service="smtp.163.com";
		
       String username="m800400@163.com";
		
		String password="@m800400";
		
		
		/**
		 * 发件人(显示,有些邮件服务商需要与用户验证名一致)
		 */
		String from ="m800400@163.com";
		
		String subject="test subject";
		
		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>";
		
		
		boolean result=sendMail.sendMail(tos,cc,bbc,service,from,username,password,subject,htmlText);
		
		runSendMail.log.debug("send mail info: "  +" from ("+from+" )   tos ("+runSendMail.arrayToString(tos, ",")+")    cc (" +runSendMail.arrayToString(cc, " ")+")");
		runSendMail.log.debug("send mail result:"+result);

	}
	
	
	/**
	 * 将数组转成字符串
	 * @param strs
	 * @param split
	 * @return
	 */
	public  String arrayToString(String[] strs,String split){
		StringBuffer stb=new StringBuffer();
		if(strs!=null && strs.length>0){
			for(String s:strs){
				stb.append(s).append(split);
			}
	
		}
		return stb.toString();
	}

}

 

 

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

 

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

 

 

 

package com.tht.common.mail;






import java.io.File;
import java.util.Properties;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.apache.log4j.Logger;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

public class AttachedMulti {

    Logger log=Logger.getLogger(AttachedMulti.class);
 
    



      public boolean sendMail(String[] filePaths,String[] tos,String[] cc,String[] bcc,String service,String from,String username,String password,String subject,String htmlText){
        JavaMailSenderImpl senderImpl=new JavaMailSenderImpl();

        //设置收件人、寄件人、主题与正文
        try {

           // Properties p=PropertiesUtil.getProperties("properties/cmail.properties");
             //设置Mail Server
            senderImpl.setHost(service);

             //建立邮件消息
             MimeMessage mailMessage=senderImpl.createMimeMessage();
             MimeMessageHelper messageHelper=new MimeMessageHelper(mailMessage,true,"UTF-8");

              Properties prop=new Properties();
              prop.put( "mail.smtp.auth" ,  "true" ) ;  //  将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
              prop.put( "mail.smtp.timeout" ,  "25000" ) ;
              senderImpl.setJavaMailProperties(prop);
              senderImpl.setUsername(username);
              senderImpl.setPassword(password);
              messageHelper.setSubject(subject);

            //邮件接收人
            messageHelper.setTo(tos);
             //钞送
            if(cc!=null && cc.length>0){
                messageHelper.setCc(cc);
            }

            //密送
           if(bcc!=null && bcc.length>0){
            	 messageHelper.setBcc(bcc);
            }
          
         
           messageHelper.setFrom(from);
       
          
            messageHelper.setText(htmlText,true);
            
            
            //第一个附件

               if(filePaths!=null && filePaths.length>0){

                    for(int i=0;i<filePaths.length;i++){
                        File file=new File(filePaths[i]);
                             if(file.exists()){
                                 messageHelper.addAttachment(file.getName(),file);
                              }              
                    }

                }

            
            

            //传送邮件
            senderImpl.send(mailMessage);
           
        } catch (MessagingException e) {
            log.error(e.getMessage(), e.fillInStackTrace());
            return false;
        }

          return true;
    }



}

 

 

 

import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import com.tht.common.mail.AttachedMulti;
import com.tht.common.mail.SendMail;


public class RunAttachedMulti {
	
	 Logger log=Logger.getLogger(RunAttachedMulti.class);

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		RunAttachedMulti runSendMail=new RunAttachedMulti();
		AttachedMulti sendMail=new AttachedMulti();
		
		
		//String[] files={"data/test2.zip","data/apache-tomcat-6.0.32-windows-x64.zip"};
		
		String[] files={"data/test2.zip"};
		
		/**
		 * 邮件接收人
		 */
	//	String[] tos={"thinktothings@gmail.com","liuwen@m800400.com","thinktothings@163.com"};
		
		String[] tos={"thinktothings@gmail.com","thinktothings@163.com"};
		/**
		 * 邮件抄送人
		 */
		//String[] cc={"m800400@163.com","thinktothings@gmail.com","thinktothings@163.com"};
		String[] cc=null;
		
		/**
		 * 密送
		 */
		String[] bbc={"thinktothings@gmail.com"};
		
		
	String username="m800400@163.com";
		
		String password="@m800400";
		
		
		/**
		 * 发送邮件的服务器
		 */
	    String service="smtp.163.com";
		

		
		
		/**
		 * 发件人(显示,有些邮件服务商需要与用户验证名一致)
		 */
		String from ="m800400@163.com";
		
		String subject="test subject";
		
		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>";
		
		
		boolean result=sendMail.sendMail(files,tos,cc,bbc,service,from,username,password,subject,htmlText);
		
		runSendMail.log.debug("send mail info: "  +" from ("+from+" )   tos ("+runSendMail.arrayToString(tos, ",")+")    cc (" +runSendMail.arrayToString(cc, ",")+")"+"  attachedFiles ("+runSendMail.arrayToString(files, ",")+")");
		runSendMail.log.debug("send mail result:"+result);

	}
	
	
	/**
	 * 将数组转成字符串
	 * @param strs
	 * @param split
	 * @return
	 */
	public  String arrayToString(String[] strs,String split){
		StringBuffer stb=new StringBuffer();
		if(strs!=null && strs.length>0){
			for(String s:strs){
				stb.append(s).append(split);
			}
	
		}
		return stb.toString();
	}

}

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    springMail

    SpringMail 是一个基于 Java 的库,它允许开发者在 Spring 框架中轻松地发送电子邮件。这个库使得处理复杂的邮件任务变得简单,包括发送带有正文、附件以及多种内容类型的邮件。下面将详细介绍 SpringMail 的使用...

    spring mail的使用

    Spring Mail是Spring框架的一部分,它提供了一种在Java应用程序中发送电子邮件的能力。通过Spring的抽象层,我们可以方便地集成各种邮件服务提供商,如Gmail、Yahoo等,而无需直接处理复杂的JavaMail API。本篇文章...

    springmail架包

    SpringMail 是一个基于 Java 的库,它为使用 JavaMail API 发送电子邮件提供了便捷的抽象层。这个框架使得在 Spring 应用程序中集成邮件服务变得简单。本文将深入探讨 SpringMail 的核心概念、配置以及如何在实际...

    spring mail 发送html

    在IT行业中,Spring框架是一个广泛使用的Java应用开发框架,它提供了丰富的功能,包括Spring Mail模块,用于发送电子邮件。本文将详细讲解如何利用Spring Mail发送HTML格式的邮件,以及如何发送普通文本、附件和...

    spring mail通过代理发送邮件

    标题中的“spring mail通过代理发送邮件”涉及到的是Spring框架中处理电子邮件发送的功能,尤其是在网络环境有限制或需要通过代理服务器的情况下。Spring Mail是Spring Framework的一个扩展模块,它提供了与JavaMail...

    使用springMail发送带附件的email

    SpringMail是一个在Java应用中发送电子邮件的库,它利用了JavaMail API的简便性和灵活性。在本项目中,我们将深入探讨如何使用SpringMail发送带有附件的电子邮件。首先,我们需要了解几个核心概念: 1. **JavaMail ...

    利用 spring mail 通过 gmail(SSL) 发邮件

    Spring Mail是一个Java库,它简化了通过JavaMail API发送电子邮件的过程。本教程将详细讲解如何利用Spring Mail通过Gmail的SSL(安全套接层)协议来发送邮件。 首先,我们需要在项目中引入Spring Mail的依赖。如果...

    spring mail 实例

    Spring Mail是Spring框架的一个扩展,专门用于发送电子邮件。本实例将深入探讨如何在Spring应用中集成并使用Spring Mail进行邮件发送。 首先,我们需要理解Spring Mail的核心组件`JavaMailSender`,这是一个接口,...

    Spring mail发送邮件实例

    ### Spring Mail 发送邮件实例详解 #### 一、Spring Mail 概述 Spring Mail 是 Spring 框架中用于处理电子邮件发送的一个模块。它提供了一种简单的方式来进行邮件的发送,支持多种邮件发送协议,例如 SMTP 等,...

    spring mail 的发送

    在`springmail2`这个示例项目中,可能包含了一个简单的Spring Boot应用,演示了如何使用Spring Mail发送邮件。这个示例可能包括一个`Main`类,启动Spring Boot应用,并调用`MailService`发送一封测试邮件。代码可能...

    SpringMail发邮件

    SpringMail是Spring框架的一个扩展,它为Java应用提供了一个简单且强大的邮件发送功能。通过集成SpringMail,开发者可以轻松地在应用程序中实现电子邮件的发送,无论是普通的文本邮件、HTML格式的邮件,还是带有附件...

    spring mail 带附件

    Spring Mail 是一个强大的Java库,用于发送电子邮件,包括带有附件的功能。在Spring框架中,它通过集成JavaMailSender接口提供了一种简洁的方式来处理邮件服务。本文将深入探讨如何使用Spring Mail发送带有附件的...

    java mail,spring mail

    Java Mail和Spring Mail是Java开发中用于处理电子邮件的两个关键库。它们允许开发者在应用程序中实现发送、接收和处理电子邮件的功能。在这个实例中,我们主要关注如何使用Java Mail API和Spring Mail来实现实时的多...

    SpringMail

    **SpringMail 深度解析** SpringMail 是一个在 Java 应用中发送电子邮件的库,它是 Spring 框架的一个扩展,使得在基于 Spring 的应用程序中集成邮件服务变得非常简单。SpringMail 提供了一种方便的方式来配置和...

    Spring mail 发送邮件

    Spring Mail 是一个在Java应用程序中发送电子邮件的简单且强大的库,它是Spring框架的一部分。通过集成Spring Mail,开发者可以轻松地将邮件发送功能整合到他们的应用中。本篇将深入探讨如何使用Spring Mail发送邮件...

    springmail架包及各种邮件发送代码

    SpringMail 是一个基于Java的库,用于简化电子邮件的发送任务。它封装了JavaMail API,提供了更简洁的接口,使得开发者在Spring框架中发送邮件变得容易。本篇将深入探讨SpringMail的使用方法以及各种邮件的发送代码...

Global site tag (gtag.js) - Google Analytics