l要自己写程序发送和接收邮件,可以直接采用Socket编程连接上远程的邮件服务器,然后按照邮件协议与邮件服务器进行交互,涉及较多细节。
另外,要想自己编程创建出复杂的MIME格式的邮件,是一件非常困难和麻烦的事情。
lJavaMail是Sun公司为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如SMTP、POP3、IMAP。
l开发人员使用JavaMail API编写邮件处理软件时,无须考虑邮件协议的底层实施细节,只要调用JavaMail开发包中相应的API类就可以了。
lJavaMail也提供了能够创建出各种复杂MIME格式的邮件内容的相关API。

JavaMail的体系结构与API分类

lJavaMail API按其功能划分通常可分为如下三大类:
Ø创建和解析邮件内容的API :Message【MimeMessage】类是创建和解析邮件的核心API,它的实例对象代表一封电子邮件。
Ø发送邮件的API:Transport类是发送邮件的核心API类,它的实例对象代表实现了某个邮件发送协议的邮件发送对象,例如SMTP协议。
Ø接收邮件的API:Store类是接收邮件的核心API类,它的实例对象代表实现了某个邮件接收协议的邮件接收对象,例如POP3协议。
lSession类
ØSession类用于定义整个应用程序所需的环境信息,以及收集客户端与邮件服务器建立网络连接的会话信息,如邮件服务器的主机名、端口号、采用的邮件发送和接收协议等。Session对象根据这些信息构建用于邮件收发的Transport和Store对象,以及为客户端创建Message对象时提供信息支持。

读java mail包中的readme.txt,了解到mail.jar中的类分为java mail API和service Provider,这就类似JDBC API和数据库驱动程序一样,不要Provider的jar包,编译程序也不会有任何问题。在写程序时,不导入Provider包,编译完全正常,等运行时才会出现错误。mailAPI和smtp.jar、imap.jar....

【mailAPI】--à【SMTP API】、【POP3 API】、…

JAF框架

lJAF(JavaBeans Activation Framework,JavaBeans激活框架)是一个专用的数据处理框架,它用于封装数据,并为应用程序提供访问和操作数据的接口。
lJAF的主要作用在于让Java应用程序知道如何对一个数据源进行查看、编辑和打印等操作。对于通过JAF封装的数据,应用程序通过JAF提供的接口可以完成如下功能:
Ø访问数据源中的数据
Ø获知数据源的数据类型
Ø获知可对数据进行的各种操作
Ø用户对数据执行某种操作时,自动创建执行该操作的软件部件的实例对象
lJavaMail API可以利用JAF从某种数据源中读取数据和获知数据的MIME类型,并用这些数据生成MIME消息中的消息体和消息类型。
lJDK6已经有了

邮件开发:Javamail、JAF简介相关推荐

  1. JavaMail API概述及JAF简介

    主要内容:  主要是对JavaMail API的基础介绍. JavaMail API简介:     ①JavaMail API支持常用的SMTP.POP3.IMAP和MIME等协议.开发时,直接使用A ...

  2. 视频专辑:张孝祥Java邮件开发

    为什么80%的码农都做不了架构师?>>>    专辑:张孝祥Java邮件开发 简介: 这是市面上无出其右的Java邮件培训视频,由于这套视频是结合了张孝祥老师对邮件系统的深刻理解.丰 ...

  3. 传智播客张孝祥java邮件开发随笔01

    01_传智播客张孝祥java邮件开发_课程价值与目标介绍 02_传智播客张孝祥java邮件开发_邮件方面的基本常识 03_传智播客张孝祥java邮件开发_手工体验smtp和pop3协议 第3课时 关于 ...

  4. [转载]JavaMail API简介

    JavaMail API简介 JavaMail API是一种可选的.能用于读取.编写和发送电子消息的包(标准扩展).您可使用这种包创建邮件用户代理 (Mail User Agent ,MUA) 类型的 ...

  5. 张孝祥java邮件开发_张孝祥java邮件开发详解笔记(生成文本邮件)

    package zxx.createMessage; import java.io.FileOutputStream; import java.util.Date; import java.util. ...

  6. Clojure开发OpenCV的简介

    Clojure开发OpenCV的简介 Clojure开发OpenCV的简介 我们将在本教程中做什么 前言 安装Leiningen 安装localrepo Leiningen插件 将特定于Java的li ...

  7. 【物联网(IoT)开发】Arduino 简介

    Arduino 的开源.开放.廉价.简单.跨平台等特点使其快速发展起来,成为学习微控制器的首选,成为物联网(IoT)开发的重要组成部分,通过Arduino我们可以从各种传感器感知世界,也可以控制各种执 ...

  8. STM32F4开发板硬件简介

    参考:STM32F4开发板硬件平台简介 作者:SKY丶丿平才 发布时间: 2021-03-20 10:44:41 网址:https://blog.csdn.net/weixin_48264057/ar ...

  9. 外贸公司用邮件开发客户需要注意些什么?

    发出去的邮件石沉大海,这是外贸人很烦扰的问题,降低了邮件开发客户的有效率.其实,不回复是很常见的,根据不同客户的采购风格,大致分类两种类型:第一种,干脆果断型:第二种,严谨耐心型.第一种客户,他们可能 ...

  10. java邮件开发--电子邮件基础

    本博客简述: 主要内容是<张孝祥Java邮件开发详解>第一章内容提要 ,pdf下载链接:http://download.csdn.net/download/cuiyaoqiang/8966 ...

最新文章

  1. 如果有的明星不会使用计算机,盘点娱乐圈不会用电脑手机的10大原始明星:最后一位出书都是手写...
  2. 08常用的模板标签和过滤器
  3. AI 机器人也能成佛?日本人觉得可以。
  4. numpy rollaxis理解
  5. 思维、视角、设计丨产品经理的三板斧
  6. 《统计学》学习笔记之数据的图表展示
  7. SAP ABAP实用技巧介绍系列之Debug XSLT transformation
  8. macOS下安装ipython
  9. 解决后端返回数据中的大数字问题(使用第三方包json-bigint )
  10. rest php,restAPI
  11. CRM【第三篇】: crm业务
  12. C#关于委托(基础)
  13. mysq 没有mysql数据库_mysq 没有mysql数据库
  14. 华为鸿蒙系统支持什么手机_华为手机支持升级鸿蒙OS的EMUI 11系统55款机型名单公布...
  15. apt 和 apt-get 区别
  16. 洛谷P1880 石子合并 区间动归
  17. 腾讯云服务器公网ip无法访问
  18. badboy linux 版本,jmeter/Badboy安装教程
  19. 五子棋游戏开发六子棋游戏开发
  20. 一种高带外抑制Ku波段滤波器设计

热门文章

  1. 次世代教程_暗黑血统2次世代道具制作图文教程
  2. C# WPF调用 QT窗口
  3. 【算法】打家劫舍系列
  4. 关于favicon.ico
  5. matlab设计程序解决实际问题,MATLAB程序设计在数学建模中的应用
  6. QT软件开发: 窗口打开固定在屏幕中间或者右下角
  7. VLAN--虚拟局域网(理论详解)
  8. 2007十大创新游戏
  9. sql server 获取字符串长度, 判断字符串长度,获取字段长度, 判断字段长度
  10. intel android 平板,Intel将着重64位处理器和低价安卓平板