热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

基于JavaMail的常用类详细介绍

以下是对JavaMail的常用类进行了详细分析的介绍,需要的朋友可以过来参考下

应用服务器
(1) javax.mail.Properties类
JavaMail需要Properties来创建一个session对象。它将寻找字符串"mail.smtp.host",属性值就是发送邮件的主机.

用法:

代码如下:

Properties props = new Properties ();  
   props.put("mail.smtp.host", "smtp.163.com");//可以换上你的smtp主机名。 

代码如下:

Properties props = new Properties (); 
   props.put("mail.smtp.host", "smtp.163.com");//可以换上你的smtp主机名。

(2) javax.mail.Session类
这个Session类代表JavaMail 中的一个邮件session. 每一个基于 JavaMail的应用程序至少有一个session但是可以有任意多的session。 在这个例子中, Session对象需要知道用来处理邮件的SMTP 服务器。

用法:

代码如下:

Session sendMailSession;  
   sendMailSession = Session.getInstance(props, null);  


代码如下:

Session sendMailSession; 
   sendMailSession = Session.getInstance(props, null); 

(3) javax.mail.Transport类
邮件是既可以被发送也可以被受到。JavaMail使用了两个不同的类来完成这两个功能:Transport 和Store. Transport 是用来发送信息的,而Store用来收信。对于这的教程我们只需要用到Transport对象。

用法:

代码如下:

Transport transport;  
  transport = sendMailSession.getTransport("smtp"); 

代码如下:

Transport transport;
  transport = sendMailSession.getTransport("smtp");

用JavaMail Session对象的getTransport 方法来初始化Transport。传过去的字符串申明了对象所要使用的协议,如"smtp"。这将为我们省了很多时间。因为JavaMail以境内置了很多协议的实现方法。

注意: JavaMail并不是绝对支持每一个协议,目前支持IMAP、 SMTP和 POP3.

(4) javax.mail.MimeMessage类
Message对象将存储我们实际发送的电子邮件信息,Message对象被作为一个MimeMessage对象来创建并且需要知道应当选择哪一个JavaMail session。

用法:

代码如下:

Message newMessage = new MimeMessage(sendMailSession);  
 
代码如下:

Message newMessage = new MimeMessage(sendMailSession);  
Message newMessage = new MimeMessage(sendMailSession); 

(5) javax.mail.InternetAddress类
一旦您创建了 Session 和 Message,并将内容填入消息后,就可以用Address确定信件地址了。和 Message 一样,Address 也是个抽象类。您用的是Javax.mail.internet.InternetAddress 类.

用法:

代码如下:

InternetAddress from=new InternetAddress("xxf@cafe.com");  
 
代码如下:

InternetAddress from=new InternetAddress("xxf@cafe.com"); 

(6) javax.mail.Store类
Store类实现特定邮件协议上的读、写、监视、查找等操作。通过Javax.mail.Store类可以访问Javax.mail.Folder类。

用法:

代码如下:

Store store=s.getSorte("pop3");//s为一个邮件会话  
store.connect(popserver,username,password);//通过你提供的pop地址,用户名和密码登录你的邮箱  

代码如下:

Store store=s.getSorte("pop3");//s为一个邮件会话  
store.connect(popserver,username,password);//通过你提供的pop地址,用户名和密码登录你的邮箱

(7) javax.mail.Folder类
Folder类用于分级组织邮件,并提供照Javax.mail.Message格式访问email的能力。

用法:

代码如下:

Folder folder=store.getFolder("INBOX");  
folder.open(Folder.READ_ONLY);  

代码如下:

Folder folder=store.getFolder("INBOX"); 
folder.open(Folder.READ_ONLY);  

(8) javax.mail.Internet.MimeMultpart
一般保存电子邮件内容的容器是Multipart抽象类,它定义了增加和删除及获得电子邮件不同部分内容的方法.由于Multipart是抽象类,我们必须为它使用一个具体的子类,JavaMail API提供javax.mail.Internet.MimeMultpart类来使用MimeMessage对象.

用法:

代码如下:

MimeMultipart multipart=new MimeMultipart();  

代码如下:

MimeMultipart multipart=new MimeMultipart(); 

注:我们使用MimeMultipart对象的一个方法是addBodyPart(),它在我们的电子邮件内容里添加BodyPart(BodyPart类在下面紧接着要介绍)对象.消息可以有很多部分,一个BodyPart可以代表一个部分.

(9) javax.mail.Internet.MimeBodyPart类
MimeBodyPart是BodyPart具体用于mimeMessage的一个子类.
MimeBodyPart对象代表一个MimeMessage对象内容的一部分.每个MimeBodyPart被认为有两部分:
⊙一个MIME类型
⊙匹配这个类型的内容

用法: 

代码如下:

MimeBodyPart mdp=new MimeBodyPart();  
String text="Hello JavaMail!";  
mdp.setContent(text,"text/plain");//定义MIME类型为text/plain,并设置MimeBodyPart的内容. 

代码如下:

    MimeBodyPart mdp=new MimeBodyPart(); 
    String text="Hello JavaMail!"; 
    mdp.setContent(text,"text/plain");//定义MIME类型为text/plain,并设置MimeBodyPart的内容.  

(10) javax.activation.DataHandler类(包含在JAF中)
JavaMail API不限制信息只为文本,任何形式的信息都可能作茧自缚MimeMessage的一部分.除了文本信息,作为文件附件包含在电子邮件信息的一部分是很普遍的.JavaMail API通过使用DataHandler对象,提供一个允许我们包含非文本BodyPart对象的简便方法.

用法: 

代码如下:

    DataHandler dh=new DataHandler(text,type);  
    mdp.setDatahandler(dh);//mdp是一个MimeBodyPart对象  

代码如下:

    DataHandler dh=new DataHandler(text,type); 
    mdp.setDatahandler(dh);//mdp是一个MimeBodyPart对象  

(11) javax.activation.FileDataSource类(包含在JAF中)
一个FileDataSource对象可以表示本地文件和服务器可以直接访问的资源.一个本地文件可以通过创建一个新的MimeBodyPart对象附在一个mimeMessage对象上.

用法: 

代码如下:

MimeMultipart mm=new MimeMultipart();  
MimeBodyPart mdp=new MimeBodyPart();  
FileDataSource fds=new FileDataSource("c:/exam.txt");  
mdp.setDataHandler(new DataHandler(fds)); //设置数据源  
mm.addBodyPart(mdp); //为当前消息MimeMultipart对象增加MimeBodyPart  

代码如下:

MimeMultipart mm=new MimeMultipart();
MimeBodyPart mdp=new MimeBodyPart();
FileDataSource fds=new FileDataSource("c:/exam.txt");
mdp.setDataHandler(new DataHandler(fds)); //设置数据源
mm.addBodyPart(mdp); //为当前消息MimeMultipart对象增加MimeBodyPart

(12) javax.activation.URLDataSource类(包含在JAF中)
远程资源,URL不会指向它们,由一个URLDataSource对象表示.一个远程资源可以通过创建一个新mimeBodyPart对象附在一个mimeMessage对象上(同FileDataSource差不多).

用法: 

代码如下:

//与FileDataSource唯一不同的是数据源的设置:  
URLDataSource uds=new URLDataSource("/JAVA/UploadFiles_6441/200703/20070320105128501.gif");  


推荐阅读
  • 本文介绍了Spring 2.0引入的TaskExecutor接口及其多种实现,包括同步和异步执行任务的方式。文章详细解释了如何在Spring应用中配置和使用这些线程池实现,以提高应用的性能和可管理性。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 微信小程序详解:概念、功能与优势
    微信公众平台近期向200位开发者发送了小程序的内测邀请。许多人对微信小程序的概念还不是很清楚。本文将详细介绍微信小程序的定义、功能及其独特优势。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 深入理解Redis中的字典实现
    本文详细介绍了Redis中字典的实现机制,包括其底层数据结构、哈希表与哈希节点的关系、元素添加方法及rehash操作的具体流程。 ... [详细]
  • 在 CentOS 7 环境中使用 MySQL 5.6 镜像启动数据库时遇到权限问题,本文将详细探讨并提供解决方案。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 前言Spring中一个Bean的创建过程是十分复杂的,这里通过源码来简单分析一下。原理分析相关类图如下DefaultListableBeanFactory就是IOC容器的最终实现, ... [详细]
  • async/await 是现代 JavaScript 中非常强大的异步编程工具,可以极大地简化异步代码的编写。本文将详细介绍 async 和 await 的用法及其背后的原理。 ... [详细]
  • 本文主要探讨了Java中处理ActionEvent事件的接口,以及一些常见的编程问题和解决方案,包括方法重载、成员变量访问、镜片质量检测等。 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • C# 实现可浮动工具栏功能
    本文介绍如何在 C# 中实现一个可浮动的工具栏,即工具栏可以从其初始位置拖出,并且可以重新拖回原位。通过创建一个新的窗口作为工具栏的容器,并利用 .NET Framework 提供的 ToolStrip 控件,可以轻松实现这一功能。 ... [详细]
  • 3D打印技术的最新进展及其产业应用前景
    今年5月,我国成功发射的长征五号B运载火箭携带了新一代载人飞船试验船,船上首次搭载了一台3D打印机,标志着我国在太空3D打印领域的重大突破。本文将探讨3D打印技术的最新进展及其对未来产业的潜在影响。 ... [详细]
  • Python 3 Scrapy 框架执行流程详解
    本文详细介绍了如何在 Python 3 环境下安装和使用 Scrapy 框架,包括常用命令和执行流程。Scrapy 是一个强大的 Web 抓取框架,适用于数据挖掘、监控和自动化测试等多种场景。 ... [详细]
author-avatar
酒梦初醒_179
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有