`
suhuanzheng7784877
  • 浏览: 706701 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47821
社区版块
存档分类
最新评论

JavaEE5学习笔记04-JavaMail使用总结---1

阅读更多

1.      JavaMail简介

其实利用JavaMail API发送邮件本身没什么,在Java Web系统中也可以将自己封装好的JavaMailUtilBean作为一个模块来用。官方的解释是这样的

JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理emailAPI。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。虽然JavaMailSunAPI之一,但它目前还没有被加在标准的java开发工具包中(Java Development Kit),这就意味着你在使用前必须另外下载JavaMail文件。除此以外,你还需要有SunJavaBeans Activation Framework JAF)。JavaBeans Activation Framework的运行很复杂,在这里简单的说就是JavaMail的运行必须得依赖于它的支持。在Windows 2000下使用需要指定这些文件的路径,在其它的操作系统上也类似。

一句话,如果您有时间,您愿意,完全可以利用JavaMail API开发一个山寨版的Foxmail。因为它确实为您屏蔽了底层的通讯协议、发送细节等等。

2.      常用接口

JavaMail常用的接口有如下几个

1.      javax.mail.Session:代表一次邮件会话。

下面就是创建了会话

       Session session = Session.getDefaultInstance(properties,

              new Authenticator() {//构造服务器认证对象

 

                  @Override

                  protected PasswordAuthentication getPasswordAuthentication() {

                     return new PasswordAuthentication(userName, password);

                  }

              });

当然,如果使用JBoss服务的时候,则可以采用注入的方式直接获取Session

2.      javax.mail.Transport

用于发送邮件的抽象类,它有一个SMTPTransport具体类

       // 真正发送邮件

       Transport.send(msg);

3.      javax.mail.Store

此类用于邮件的读取、写、监视、查找等等操作

如下操作

           // 使用pop3协议接收邮件

           URLName url = new URLName("pop3", getPop3Host(), getPop3Port(),

                  null, getAccount(), getPassword());

 

           Store store = session.getStore(url);

 

4.      javax.mail.Folder

用于组织邮件,代表邮件系统的一个文件夹。

获取如下:

       Folder inbox = getStore().getFolder("INBOX");

 

       inbox.open(Folder.READ_WRITE);

 

5.      javax.mail.MimeMessage

实际的邮件对象

它下属性

bte[] content:邮件内容的字节数组

InternetHeaders header:邮件的文件头对象

它还有如下方法

Void addFrom():设置发件人

Void addHeader():设置邮件头信息

Void addRecipients():增加收件地址

Address[] getFrom():返回邮件发件人地址列表

Void setContent():设置Email的内容

如下代码

MimeMessage msg = new MimeMessage(session);

 

6.      javax.mail.Address

制定人发件人、收件人地址,它也是一个抽象类,他有一个InternetAddress子类。

如下

       // 设置收件人

       // 收件人可以是多个,所以是数组

       InternetAddress[] internetAddressTo = { new InternetAddress(to),

              new InternetAddress("stail111@163.com") };

 

7.      javax.mail.Multipart

用于保存电子邮件的内容的容器,它定义了添加、删除、获得电子邮件内容的方法。他也是抽象类,有一个子类叫做MimeMultipart

代码如下:

       Multipart mp = new MimeMultipart();

 

       // 构造正文

       MimeBodyPart mbpContent = new MimeBodyPart();

       mbpContent.setText(content);

 

       mp.addBodyPart(mbpContent);

 

8.      javax.mail.BodyPart

以上代码示例出现了MimeBodyPart,他是BodyPart的子类,代表邮件内容的一部分,既可以代表邮件正文、也可以代表邮件的附件。

上面是描绘了一个普通的字符串。

9.      javax.activation.DataHandler

该类允许邮件信息包含非文本的BodyPart对象,如下代码

           MimeBodyPart filembpContent = new MimeBodyPart();

           FileDataSource fds = new FileDataSource(files);

           filembpContent.setDataHandler(new DataHandler(fds));

           filembpContent.setFileName(fds.getName());

           mp.addBodyPart(filembpContent);

 

10.  javax.activation.FileDataSource

一般是附件文件对象,可以用于给邮件增加附件。上面的代码中也就是增加了一个文件附件

11.  javax.activation.URLaSource

代表一个url的远程资源

分享到:
评论

相关推荐

    JavaEE5学习笔记04-JavaMail使用总结

    ### JavaEE5学习笔记04-JavaMail使用总结 在JavaEE5的学习过程中,JavaMail是一个非常重要的组件,它提供了发送、接收电子邮件的功能,并且能够与各种不同的邮件服务器进行交互。下面将根据提供的内容,详细解析...

    JavaEE5学习笔记04-JavaMail使用总结---3

    这篇学习笔记主要聚焦于JavaMail在JavaEE5中的使用,通过深入理解其核心概念和实践操作,我们可以更好地在实际项目中应用这一工具。 JavaMail API提供了一套标准的接口,允许Java应用程序发送和接收电子邮件。它...

    JavaEE5学习笔记05-EJB之会话Bean总结

    ### JavaEE5学习笔记05-EJB之会话Bean总结 #### EJB(Enterprise JavaBeans)简介 EJB(Enterprise JavaBeans)是Java EE平台的一部分,用于开发和部署可重用的服务组件。EJB规范定义了如何编写、部署以及管理企业...

    JavaEE5学习笔记01-JTA和数据库事务

    ### JavaEE5学习笔记01-JTA和数据库事务:深入解析与应用 #### 一、JavaEE5概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...

    JavaEE5学习笔记07-Web层与EJB集成总结

    ### JavaEE5学习笔记07-Web层与EJB集成总结 #### 一、JavaEE5框架中的Web层与EJB集成概述 在JavaEE5(即Java Platform, Enterprise Edition 5)中,Web层与EJB(Enterprise JavaBeans)的集成是构建企业级应用的...

    JavaEE5学习笔记02-JNDI与RMI

    ### JavaEE5学习笔记02-JNDI与RMI #### JNDI(Java Naming and Directory Interface) JNDI是Java平台中用于访问命名和目录服务的API,它提供了一种标准的方式,使得应用程序可以查找并引用网络上的远程对象。JNDI...

    JavaEE5学习笔记11-JSF转换器验证器使用经验总结

    ### JavaEE5学习笔记11-JSF转换器验证器使用经验总结 在JavaEE5的学习过程中,JSF(JavaServer Faces)作为一款重要的框架被广泛应用于企业级应用开发。本篇笔记将重点介绍JSF中的两个核心概念:转换器(Converter)...

    JavaEE5学习笔记09-将EJB发布成WebService总结

    ### JavaEE5学习笔记09-将EJB发布成WebService总结 #### 一、EJB与WebService概述 在Java EE 5(Java Platform, Enterprise Edition)中,企业级应用程序的开发变得更为简单和灵活。EJB(Enterprise JavaBeans)...

    javaee-api-8.0-javadoc.jar

    javaee-api-8.0-javadoc.jar,这是javaee1.8api的jar包,解压后可用javadoc2chm制作成chm帮助文档。

    JavaEE源代码 struts2-core-2.0.11

    JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源代码 struts2-core-2.0.11JavaEE源...

    JavaEE源代码 struts2-spring-plugin-2.0.11

    JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-2.0.11JavaEE源代码 struts2-spring-plugin-...

    javaee-api-6.0-5

    java javaee-api-6.0-5

    JavaEE源代码 jaxen-1.1-beta-7

    JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-beta-7JavaEE源代码 jaxen-1.1-...

    JavaEE源代码 commons-logging-1.0.4

    JavaEE源代码 commons-logging-1.0.4JavaEE源代码 commons-logging-1.0.4JavaEE源代码 commons-logging-1.0.4JavaEE源代码 commons-logging-1.0.4JavaEE源代码 commons-logging-1.0.4JavaEE源代码 commons-logging-...

    JavaEE源代码 commons-collections-2.1.1

    JavaEE源代码 commons-collections-2.1.1JavaEE源代码 commons-collections-2.1.1JavaEE源代码 commons-collections-2.1.1JavaEE源代码 commons-collections-2.1.1JavaEE源代码 commons-collections-2.1.1JavaEE源...

    javaEE健康管理系统SSH-oracle(源码+数据库sql+lun文+视频齐全).zip

    javaEE健康管理系统SSH-oracle(源码+数据库sql+lun文+视频齐全)javaEE健康管理系统SSH-oracle(源码+数据库sql+lun文+视频齐全)javaEE健康管理系统SSH-oracle(源码+数据库sql+lun文+视频齐全)javaEE健康管理系统SSH-...

    JavaEE源代码 antlr-2.7.6rc1

    JavaEE源代码 antlr-2.7.6rc1JavaEE源代码 antlr-2.7.6rc1JavaEE源代码 antlr-2.7.6rc1JavaEE源代码 antlr-2.7.6rc1JavaEE源代码 antlr-2.7.6rc1JavaEE源代码 antlr-2.7.6rc1JavaEE源代码 antlr-2.7.6rc1JavaEE源...

    javaee5-doc-api

    在这个“javaee5-doc-api”压缩包中,包含的是Java EE 5的官方API文档,对于开发者来说是一份非常重要的参考资料。 **1. Servlet API** Servlet是Java EE中处理HTTP请求的核心组件。在Java EE 5中,Servlet API升级...

    JavaEE源代码 jstl-1.2

    JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源...

Global site tag (gtag.js) - Google Analytics