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

commons-email的使用封装

阅读更多
package org.apache.commons.mail;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import com.hisunsray.travel.config.Config;

public class MailUtils {
	/**
	 * 简单的发邮件方式    邮件内容只有标题和邮件内容  支持多个用户批量发送
	 * @param subject   邮件标题
	 * @param contents  邮件内容
	 * @param userEmailAddress   收入人的邮件地址  为数组形式
	 * @throws Exception 
	 */
	public static void sendSimpleEmail(String subject,String contents,String [] userEmailAddress,String fromEmailAddress) throws Exception
	{
		Config config = new Config();
	    config.loadProperty();
		SimpleEmail email = new SimpleEmail();
		email.setHostName(Config.getProperty("mailHostName"));
		email.setAuthentication(Config.getProperty("mailHostUserName"),Config.getProperty("mailHostPassword"));
		//发送给多个人
		for(int i=0;i<userEmailAddress.length;i++)
		{
			email.addTo(userEmailAddress[i],userEmailAddress[i]);
		}
		email.setFrom(fromEmailAddress,fromEmailAddress);
		email.setSubject(subject);
		email.setContent(contents, "text/plain;charset=GBK"); 
		email.send();
	}
	
	/**
	 * 发送带附件的邮件方式  邮件内容有标题和邮件内容和附件,附件可以是本地机器上的文本,也可以是web上的一个URL 文件, 
	 * 当为web上的一个URL文件时,此方法可以将WEB中的URL文件先下载到本地,再发送给收入用户
	 * @param subject   邮件标题
	 * @param contents  邮件内容
	 * @param userEmailAddress   收入人的邮件地址  为数组形式
	 * @param multiPaths         附件地址         为数组形式
	 * @throws Exception 
	 * @throws Exception 
	 */
	
	public static void sendMultiPartEmail(String subject,String contents,String [] userEmailAddress,String fromEmailAddress,String []multiPaths) throws Exception
	{
//		MimeUtility.encodeText(filename);   测试中文乱码用的
//		EmailAttachment attachment = new EmailAttachment();
//		attachment.setPath("D:/hibernate培训讲座.ppt");
//		attachment.setDisposition(EmailAttachment.ATTACHMENT);
//		attachment.setDescription("Picture of John");
		List list=new ArrayList();
//		EmailAttachment [] attachmentArray = new EmailAttachment[multiPaths.length];
		for(int j=0;j<multiPaths.length;j++)
		{
			EmailAttachment attachment = new EmailAttachment();
			if(multiPaths[j].indexOf("http")==-1)   //判断当前这个文件路径是否在本地  如果是:setPath  否则  setURL;
			{
			attachment.setPath(multiPaths[j]);
			}
			else
			{
				attachment.setURL(new URL(multiPaths[j]));
			}
			attachment.setDisposition(EmailAttachment.ATTACHMENT);
			attachment.setDescription("Picture of John");
			list.add(attachment);
		}
		//发送邮件信息
		Config config = new Config();
	    config.loadProperty();
	    MultiPartEmail email = new MultiPartEmail();
		email.setHostName(Config.getProperty("mailHostName"));
		email.setAuthentication(Config.getProperty("mailHostUserName"),Config.getProperty("mailHostPassword"));
		//发送给多个人
		for(int i=0;i<userEmailAddress.length;i++)
		{
			email.addTo(userEmailAddress[i],userEmailAddress[i]);
		}
		email.setFrom(fromEmailAddress,fromEmailAddress);
		email.setSubject("The picture");
		email.setMsg(contents);   //注意这个不要使用setContent这个方法  setMsg不会出现乱码
		for(int a=0;a<list.size();a++)   //添加多个附件
		{
			 email.attach((EmailAttachment)list.get(a));
		}
//	    email.attach(attachment);
		email.send();
	}
	
	/**
	 * 发送Html格式的邮件
	 * @param subject   邮件标题
	 * @param contents  邮件内容
	 * @param userEmailAddress  接收用户的邮箱地址
	 * @param fromEmailAddress  发送人的邮箱地址
	 *        
	 * @throws Exception
	 */
	public static void sendHtmlEmail(String subject,String contents,String [] userEmailAddress,String fromEmailAddress) throws Exception
	{
		Config config = new Config();
	    config.loadProperty();
	    HtmlEmail email = new HtmlEmail();
		email.setHostName(Config.getProperty("mailHostName"));
		email.setAuthentication(Config.getProperty("mailHostUserName"),Config.getProperty("mailHostPassword"));
		//发送给多个人
		for(int i=0;i<userEmailAddress.length;i++)
		{
			email.addTo(userEmailAddress[i],userEmailAddress[i]);
		}
		email.setFrom(fromEmailAddress,fromEmailAddress);
		email.setSubject(subject);
		email.setHtmlMsg(contents);
		email.setTextMsg(contents);
		email.send();
	}
	/**
	 * 统一的发送邮件的方法   调用时一定要实例化EmailBean对象   
	 * @throws Exception 
	 *
	 */
	public static void sendEmail(EmailBean bean) throws Exception
	{
		if(bean.isHaveMultPaths())
		{
			sendMultiPartEmail(bean.getSubject(),bean.getContents(),bean.getUserEmailAddress(),bean.getFromEmailAddress(),bean.getMultiPaths());
		}
		else
		{
			sendSimpleEmail(bean.getSubject(),bean.getContents(),bean.getUserEmailAddress(),bean.getFromEmailAddress());
		}
	}
}
  • org.rar (23 KB)
  • 下载次数: 322
分享到:
评论
1 楼 youlong05 2006-11-16  
注意要下载JAVAMAIL包

相关推荐

    最新commons-email-1.2.jar

    commons-email封装了邮件发送权限处理,AuthenticationFailedException错误可以解决了

    commons-email-1.1-src.zip

    标题“commons-email-1.1-src.zip”表明这是一个关于Apache Commons Email库的源代码压缩包,版本为1.1。Apache Commons Email是一个Java库,它提供了简单和直接的方式来创建电子邮件,包括HTML邮件、多部分邮件以及...

    使用Apache-commons-email发送邮件

    首先,要使用Apache Commons Email,我们需要在项目中引入其依赖。如果是Maven项目,可以在pom.xml文件中添加如下依赖: ```xml &lt;groupId&gt;commons-email &lt;artifactId&gt;commons-email &lt;version&gt;1.5 ``` 接下来...

    commons-dbutils-1.7.jar

    Apache Commons DBUtils是一款在Java编程中广泛使用的数据库操作工具库,它的全称为“Apache Commons Database Utilities”。这个小巧且高效的库为开发者提供了方便、安全的数据库访问接口,降低了处理数据库连接、...

    commons-email

    使用Apache Commons Email,开发者可以避免直接处理复杂的JavaMail API,减少代码量,提高代码可读性和可维护性。例如,发送一封简单的文本邮件只需几行代码: ```java import org.apache.commons.mail.*; Email ...

    commons-email-1.0

    Commons Email 封装了 JavaMail 的部分功能,提供了简洁易用的接口,使得邮件的创建、配置和发送变得更加直观和高效。 在 Commons Email 1.0 中,主要包含以下几个核心知识点: 1. **邮件构建**:你可以使用预定义...

    commons-eamil和commons-fileupload包

    以下是一段简单的使用`commons-email`发送邮件的代码示例: ```java import org.apache.commons.mail.*; Email email = new SimpleEmail(); email.setSmtpPort(587); email.setDebug(true); email.setFrom("you@...

    commons-dbutils-1.3-bin

    Apache Commons DBUtils是Java开发中一个非常实用的数据库操作库,它简化了JDBC(Java Database Connectivity)的使用,提供了一种更安全、更高效的方式来处理数据库操作。这个"commons-dbutils-1.3-bin"压缩包包含...

    使用javamail,commons-mail发送邮件实例

    4. **构建邮件**:使用`Commons-Mail`的`Email`类创建邮件实例,设置收件人、发件人、主题和正文: ```java Email email = new SimpleEmail(); email.setFrom("your-email@example.com"); email.setSubject(...

    common email 附件发送

    以上就是使用Java结合Apache Commons Email和JavaMail API发送带附件的电子邮件的基本流程。开发者可以根据实际需求对邮件内容、附件类型和邮件服务器配置进行更复杂的定制。在实际项目中,为了提高代码的可读性和可...

    commons-email-scala-helper:Commons Email 上的 Scala 包装器,用于更舒适的消息发送

    总的来说,`commons-email-scala-helper` 是为了提升 Scala 开发者使用 Apache Commons Email 的体验而设计的,它封装了底层的 Java API,提供了更加符合 Scala 语言特性的接口,使得编写和管理邮件发送代码变得更加...

    commons_mail.jar

    使用`commons-email-1.2.jar`,开发者可以轻松地实现复杂邮件功能,例如HTML邮件、多部分邮件(包含文本和HTML版本)、添加附件、设置抄送和密送收件人等。`HtmlEmail`是Apache Commons Email库中的一个关键类,它...

    Java开发常用jar包

    1.commons-beanutils.jar...12.commons-DbUtils.jar:Apache组织提供的一个资源JDBC工具类库,它是对JDBC的简单封装,对传统操作数据库的类进行二次封装,可以把结果集转化成List。 13.commons-Email.jar: 提供开源的API

    OSChina 所有jar

    8 commons-email-1.2.jar 邮件发送包 9 commons-httpclient-3.1.jar HTTP客户端 10 commons-io-1.4.jar IO处理包 11 commons-lang-2.4.jar 语言处理包 12 commons-logging-1.1.1.jar 日志包 13 cos.jar 文件...

    Commons: 封装Apache Commons Email简化邮件发送

    在本文中,我们将详细探讨Apache Commons Email的使用方法和核心特性。 首先,Apache Commons Email提供了多种构造邮件的方法,包括创建简单文本邮件、HTML邮件、带有附件的邮件等。例如,你可以通过`SimpleEmail`...

    Apache Commons Mail 封装发送邮件类

    在JavaMail中,配置和使用邮件服务可能相对复杂,而Apache Commons Mail则通过提供预定义的邮件实现和简单易用的接口来解决了这个问题。 **Apache Commons Mail基本概念** 1. **邮件组件**:Apache Commons Mail ...

    jsp邮件发送

    commons-email是apache提供的一个开源的API,是对javamail的封装,因此在使用时要将javamail.jar加到 class path中,主要包括SimpleEmail,MultiPartEmail,HtmlEmail,EmailAttachment四个类。 HtmlEmail:HTML格式邮件...

    java 工具类-----email

    对于更复杂的应用场景,还可以使用开源库,如Apache Commons Email或Spring框架中的MailSender,它们提供了更友好的API来简化邮件发送操作。 在提供的标签"源码 工具"中,我们可以理解到,深入学习和理解JavaMail ...

    java 发送Email 需要的包

    再者,`commons-email-1.2.jar`是Apache Commons Email项目的一部分,它为JavaMail提供了一个更高级、更易于使用的封装。Apache Commons Email提供了一些便利的类和方法,使得编写邮件发送代码更加直观。例如,你...

Global site tag (gtag.js) - Google Analytics