`
suoyihen
  • 浏览: 1388162 次
文章分类
社区版块
存档分类
最新评论

apache common mail包相关类解析

 
阅读更多

在common mail包中总共有8各类,主要是那个Email类,这个类里面包括了发送邮件的几乎全部方法。它的子类MultiPartEmail扩展了几个简单的方法,主要的是扩展一个邮件附件的方法,MultiPartEmail的子类HtmlEmail定义了几个重载的embed方法,这几个方法我觉得在平常工作当中用到的机会不是很多。其他的几个类都是在这三个类当中作为方法参数或者变量出现。

所以我们在实现邮件发送的功能上,我们足足可以只使用HtmlEmail类来操作。创建一个HtmlEmail如下:

这些方法都不是HtmlEmail类中的,全部都是Email中的方法。而发送的代码可以像下面这样写:

mailEntry是自己写的一个pojo类。没什么好说的。上面代码中的一些方法中setHtmlMsg是HtmlEmail类自身的,这个方法很简单,只是简单的赋值操作。attach方法是MultiPartEmail,方法的具体实现可以自己看源码,其他的方法也都是Email的。

当需要发送群邮件时,也是很简单的,Email类都为我们封装好了,我们需要做的只是简单的拼装邮件的内容,发送者,接受者等等信息:

另外一个问题是我们需不需要将邮件发送的代码放入一个线程当中,如果我们把相关方法放入一个线程的run方法内,那么执行这个方法我们需要new Thread(new XxxThread()).start或new XxxThread().start的方法来执行。我们可以使用线程来实现多任务,如果没有使用线程有可能会出现代码的混乱执行(就变得不是并发的了,关于并发的只是可以查看相关书籍)。当然我们使用了线程实现的话我们还需要对线程的停止进行相关的操作:

join()方法的意思是等待线程消亡,注意这里是无参数的,这就意味着永远等待下去if(l == 0L)for(; isAlive(); wait(0L));在等待过程中别的线程不能执行相关代码。这样就相当于实现了同步。
所以我们在发送邮件时最好还是将代码放入线程当中。



分享到:
评论

相关推荐

    org.apache.commons 全部包

    1. **Commons Lang**:这是 Apache Commons 中最常用的包之一,提供了大量的 Java 语言工具类。它包括字符串处理、日期和时间操作、反射、枚举支持、数学运算以及创建单例等实用方法。例如,`StringUtils` 类提供了...

    apache cxf_jar包

    4. **cxf-common-utilities-2.5.10.jar**: CXF通用工具包,提供了在CXF框架中广泛使用的各种实用程序类,如XML解析、类型转换等。 5. **cxf-rt-transports-http-2.7.12.jar**: HTTP传输模块,负责处理HTTP/S协议的...

    org.apache.http 相关的jar包

    import org.apache.http.Header; import org.apache.http.HttpException; import org.apache.http.HttpRequest; import org.apache.http.HttpRequestInterceptor;...import org.apache.http.HttpResponse;... jar包

    apache.commons全套jar包下载

    2. Apache Commons CLI: 命令行接口(CLI)工具包简化了命令行参数解析。它可以自动处理短选项、长选项、选项组合以及帮助信息的生成,让编写命令行程序变得更加简单。 3. Apache Commons Codec: 这个库提供了各种...

    org.apache.commons.lang包

    标题中的"org.apache.commons.lang包"指的是该库的主要命名空间,它包含了各种实用工具类,如字符串处理、日期时间操作、类型转换等。 在描述中提到,解压缩Apache Commons Lang资源包后,我们可以获取到几个关键...

    org.apache.http 依赖包

    这个库的核心部分就是`org.apache.http`包,它包含了处理HTTP请求和响应的各种类和接口。当我们遇到"找不到org.apache.http.?的库"的错误时,通常意味着开发环境中缺少了这个依赖。 Apache ...

    org.apache.http相关jar包下载(httpcomponents-client-4.2.5-bin.tar)

    在标题提到的`httpcomponents-client-4.2.5-bin.tar`中,我们找到了Apache HttpClient的特定版本4.2.5的二进制分发包,它通常包含了一系列的JAR文件,用于支持网络爬虫和其他需要与HTTP服务器交互的应用程序。...

    Apache中POI操作word所需的相关jar包

    首先,要开始使用Apache POI进行Word操作,你需要在项目中引入相关的jar包。这些jar包通常包括`poi-ooxml-schemas`, `poi-ooxml`, `poi`, 和可能的其他依赖。压缩包文件"POI操作word所需jar包"应该包含了这些必要的...

    linux系统 apache http 免安装包

    【标题】:“Linux系统Apache HTTP免安装包” 在Linux操作系统中,Apache HTTP Server是一个广泛应用的开源Web服务器,它提供了一个高效且可扩展的平台来托管网页和服务。本免安装包包含了一系列必要的组件,用于在...

    Java.mail开发包

    Java Mail 开发包是用于在Java环境中处理电子邮件的开源库,它提供了丰富的API,使得开发者可以方便地实现发送、接收、解析邮件等操作。这个库是基于JavaBeans Activation Framework (JAF) 和Java Messaging Service...

    org.apache.commons jar

    7. **Apache Commons CLI**: 为命令行接口解析提供了支持,使得创建带选项和参数的命令行工具变得更加简单。 8. **Apache Commons Configuration**: 提供了灵活的配置文件处理,可以读取 XML、INI、系统属性等多种...

    org.apache.commons.httpclient相关资源包

    在标题"org.apache.commons.httpclient相关资源包"中,我们可以看出这是关于使用Apache HttpClient进行HTTP通信的知识点。Apache HttpClient库是Apache软件基金会的一个项目,它提供了对HTTP协议的全面支持,包括GET...

    apache中的tika包

    Tika与Apache Lucene项目密切相关,Lucene是一个高性能、全文本搜索库,而Tika则为Lucene提供了一种方便的方式去解析各种复杂的文件类型,从而提取出可用于索引的文本内容。 Tika的核心功能包括: 1. **文件解析**...

    对Apache生产的XML文档生成和解析库的封装,支持XML中包含中文字符串

    Apache软件基金会提供了多种与XML相关的库,如Xerces-C++、Xalan等,这些库提供了XML文档的生成和解析功能。本文将深入探讨对Apache XML解析库的封装以及如何处理包含中文字符串的XML文档。 首先,Apache的XML解析...

    最新Apache POI 5.2.3jar包和源码

    6. **poi-ooxml-full-5.2.3.jar**: 它包含所有OOXML相关的类,提供了完整的OOXML文件格式支持,适合需要处理复杂Office文档的项目。 7. **poi-javadoc-5.2.3.jar**: 这个文件包含了Apache POI 5.2.3的API文档,...

    Apache Commons

    10. **XML处理**:`XML`相关组件如`Digester`和`Beans`提供了XML解析和对象绑定的功能,简化了XML文档的读取和操作。 Apache Commons 的优势在于它的模块化设计,开发者可以根据项目需求选择需要的组件,避免引入...

    redhat6.6升级apache2.4.43升级相关包

    以下是对`redhat6.6升级apache2.4.43升级相关包`的详细解释: 1. **Apache 2.4.x系列的优势**:Apache 2.4.x引入了许多改进,包括模块化的结构、更高效的事件模型、更好的内存管理和安全增强。例如,模块化设计允许...

    org.apache.jasper 的jar包下载

    这个jar包包含了处理JSP所需的所有类和资源,包括编译器、错误处理机制和相关工具。使用此版本可能需要考虑兼容性问题,因为软件技术在不断更新,较旧的版本可能不支持最新的JSP规范或Java版本。 `jasper_license....

    apache FTP 工具类

    Apache Commons Net提供了多种FTP相关的工具类,使得在Java环境中进行FTP交互变得更加简单和高效。接下来,我们将深入探讨FTP工具类的主要功能、使用方法以及源码分析。 **1. FTPClient类** FTPClient是Apache ...

    org.apache.http 相关的jar

    org.apache.http post/get 解决中文乱码 相关的jar~~~

Global site tag (gtag.js) - Google Analytics