`
ldd600
  • 浏览: 103805 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
47bb354f-8b5f-3ea6-a206-c7ead38c741c
Hyperic插件开发不完...
浏览量:11273
社区版块
存档分类
最新评论

在JavaMail的基础上构建自己的Email Channel(2):封装Javamail的原因

阅读更多

封装Javamail的原因

两个字需求

1.      去年已经写过一个Message channel,抽象出了消息发送的统一接口,已经支持FTP, JMS。底层还提出来了一套统一的connection pool结构。用户通过依赖注入方式配置选择通信方式,connection pool的策略,具体实现在代码中对用户都是透明的,用户可以方便地通过配置文件切换选择的通信方式。Email通信方式也需要加到这套已有的设计上。

2.      直接使用javaMail,用户需要自己处理整个email的复杂结构,比如在接收时还需要处理正文和附件,并存储,使用完后还需要清理。

3.      用户可以提供邮件模板,从业务程序的上下文环境中提取有用的信息,替换模板中的placeholder,形成邮件内容。

4.      自动ACK,每收到一份邮件,就自动发送应答,应答也提供了模板定制功能,可以引用原邮件的标题,附件,正文等。

5.      邮件匹配和过滤,javamail提供了search功能,可以对邮件进行过滤,但是它不满足1中系统中已有的接口。

6.      对于匹配和过滤邮件,javamail已经设计了套语言的面向对象模型(SearchTerm, AndTerm, OrTerm, NotTerm…)。但是在实际应用中,我们不可能让用户直接使用这套面向对象机制,特别是前台用户,前台用户应该只需要提供一个表达式,描绘出接收的邮件必须满足的格式,然后后台把用户的表达式解释成javamail的面向对象模型。这就需要我们设计DSL和解释器。

7.      默认情况下用JavaMail收发中文邮件会出现乱码

8.      可对email socket connection 进行pool,提高性能

9.      在发送和接收时,Email Message需要序列化下来,并可反序列化。在发送时,偶尔也会衰地遇到SMTP服务器down掉的情况,这时email message需要能够备份下来,并能自动retry重发。


上文: 在JavaMail的基础上构建自己的Email Channel(1):基础知识

0
2
分享到:
评论

相关推荐

    封装javamail

    通过运行和分析这个示例,你可以快速掌握如何在自己的项目中集成和使用这个封装。 总结来说,封装javamail是为了简化邮件处理,通过创建自定义的邮件服务类,使得开发者能更便捷地发送和接收邮件。项目提供的`doc`...

    javamail的封装

    2. **SMTP协议**: SMTP(Simple Mail Transfer Protocol)是用于在互联网上传输邮件的协议。在JavaMail中,我们通常使用SMTP服务器来发送邮件,通过`Transport.send(Message)`方法完成。 3. **邮件配置**: 自定义...

    javamail&commons-email

    JavaMail和Apache Commons Email是两个在Java环境中广泛使用的库,用于发送电子邮件。这两个库提供了丰富的功能,使得开发者能够轻松地实现复杂邮件的发送,包括文本邮件、HTML邮件、附件、多部分消息等。 JavaMail...

    javamail的jar包:javamail-1.6

    JavaMail 是一个开源库,用于在Java应用程序中处理电子邮件。这个库提供了丰富的API,使得开发者可以方便地执行发送、接收、读取和管理邮件的任务。`javamail-1.6`是JavaMail的一个版本,它包含了从早期版本中继承的...

    JavaMail API 1.4.7 官网下载 最新版

    在实际开发中,开发者通常会结合JavaMail API与Servlet、Spring框架等一起使用,构建Web应用中的邮件服务功能。例如,用户注册时发送验证邮件,系统异常时自动发送报警邮件,或者提供用户邮件收发的界面等。 总的来...

    nmw-email-taglib:封装JavaMail API的JSP taglib

    总之,`nmw-email-taglib`是一个强大的工具,它将JavaMail API的复杂性封装在易于使用的JSP标签中,使得Web开发者能够更专注于业务逻辑,而不是底层邮件发送的细节。通过理解和熟练运用这个标签库,可以极大地提升...

    JavaMail API基础教程(HTML)

    书名:JavaMail API基础教程(电子书) 格式:HTML 作者:IBM 目录 1.教程提示 2.引入JavaMail API 3.对相关协议的回顾 4.安装JavaMail 5.对核心类的概览 6.JavaMail API的使用 7.用SearchTerm(搜索条件)搜索 8.练习...

    James+Javamail构建邮件服务

    ### James+Javamail构建邮件服务 #### 关于James与Javamail - **Apache James**:作为Apache组织的子项目之一,James(Java Apache Mail Enterprise Server)是一款完全基于Java开发的邮件服务器解决方案。它支持...

    javamail(带界面的javamail)

    JavaMail 是一个强大的开源库,用于在Java应用程序中实现电子邮件的发送和接收功能。它提供了丰富的API,使得开发者能够方便地处理SMTP、POP3、IMAP等邮件协议,支持多种邮件格式,包括文本、HTML以及带有附件的邮件...

    JavaMail基础教程(API)

    在开始使用JavaMail之前,需要在项目中引入JavaMail的依赖库,这通常通过Maven或Gradle等构建工具来完成。同时,需要配置邮件服务器的相关信息,包括SMTP服务器地址、端口号、用户名和密码等,这些可以通过`...

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

    在发送带有附件的邮件时,Apache Commons Email的`MultiPartEmail`类就派上用场了。你可以添加多个文件作为附件,无论是文本、图片、PDF还是其他类型的文件,都可以轻松处理。此外,该库还支持发送带有内嵌图片的...

    javamail使用的2个jar包(activation.jar+commons-email-1.1.jar)

    在这个场景中,我们关注的是两个关键的JavaMail依赖jar包:`activation.jar`和`commons-email-1.1.jar`。 `activation.jar`是JavaBeans Activation Framework (JAF) 的一部分,它主要用于处理MIME类型的对象,特别...

    javamail-1.4.7.7z

    SMTP是互联网上传输电子邮件的标准协议,JavaMail API封装了与SMTP服务器交互的细节。 2. **POP3(Post Office Protocol v3)和IMAP(Internet Message Access Protocol)支持**:除了发送邮件,JavaMail 还能处理...

    JavaMail相关jar包

    它提供了`Session`、`Message`、`Address`、`Store`和`Transport`等关键类,是构建邮件应用的基础。 使用这两个jar包时,开发者需要将它们添加到项目类路径中,然后可以开始编写邮件处理代码。以下是一个简单的示例...

    JavaMail完整JAR包

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。这个完整JAR包包含了所有必要的组件,使得开发者能够方便地实现发送、接收、读取以及管理电子邮件。以下是JavaMail的一些关键知识点: 1. **...

    javaMail API 跟 javaMail.jar包

    JavaMail API是Java平台上用于处理电子邮件的一套标准API,它为开发者提供了丰富的接口和类,以便于发送、接收和管理电子邮件。JavaMail API是Java EE的一部分,但也可以在Java SE环境中使用。`javaMail.jar`是...

    JavaMail应用实例说明:简单(HTML)邮件的发送 javaMail基础教程下载

    JavaMail是一种广泛使用的Java库,它允许开发人员在Java应用程序中发送和接收电子邮件。这个教程主要关注的是如何使用JavaMail发送简单的HTML邮件,这在现代应用程序中非常常见,因为HTML邮件可以提供更丰富的格式和...

Global site tag (gtag.js) - Google Analytics