javaMail企业开发环境下的使用

2018-07-19  本文已影响0人  散入风中

1.通过登录验证的方式以获取session对象

javaMail是一个以实现SMTP验证类(重写抽象类Authenticator的抽象方法PasswordAuthentication)来获取Session的解决方案,获取session之后,就可以得到一个基于mine协议的对象,从而进行邮件的操作。

下面是一个简单的EailUtil封装格式:

简单的封装格式1 简单的封装格式2

这样就完成了基本的发送邮件的验证步骤的内容,下面来使用他,因为这个工具是在实际项目中使用的,所以隐藏部分代码,核心代码会一一备注。

2.创建一个Session连接邮件服务

在创建session之前,我们需要传输一些相关的参数给这次的会话连接,之后通过图中的方式获取session对象。

获取session时需要配置相关的参数

这里建议开启debug模式,设置session.setDebug(true)即可,开启后控制台会输出日志信息,也可以观察服务器的响应信息。

3.创建一个基于mine协议的MineMessage邮件对象

mineMessage对象是邮件的载体,封装着邮件的所有信息。

通过new MineMessage(session)的方式得到该对象,参数为session会话连接对象。

4.创建一封邮件

邮件包含了几大基本要素:

(1)发件人

(2)收件人/抄送人/暗送人

(3)回复人

(4)标题

(5)正文内容

发件人和收件人在javamail中,使用Address类表示,它是一个抽象类,已知实现子类有IntenetAddress

发件人 收件人

图中红色标注的方法就是设置邮件的收件人/抄送人/暗送人,其中T0为收件人,CC为抄送人,BCC为暗送人

对于回复人来说,我并没有在项目中使用,网上应该有相关的设置方法,需要使用的可以百度一下(百度就完事了)。

我们还可以设置一些其他的东西,比如

邮件的其他设置

对于message中很多的方法都是设置邮件的一些信息,可以参考API。

正文内容,也是邮件最重要的一个方面,包含了邮件传达的信息主体,这里正文内容包括了文字信息,图片以及附件。

正文操作的基本格式

先要获取一个Multipart对象,该对象是邮件正文总体的数据封装对象,之后创建一个BodyPart对象,他封装了邮件正文体包含的正文信息,在一个Multipart中,我们可以add多个BodyPart从而组成一封完整的邮件。

这里添加了邮件正文(图中的sendHtml),在设置之前需要设置HTML的编码方式,默认忘了是什么格式了(。。。),一定要记住,在封装完BodyPart对象所承载的数据之后,调用multipart.addBodyPart()来将该BodyPart添加到邮件正文中。

添加附件

因为代码中没有使用附件的需求,所以写了一个附件的基本的操作方法

也是和上边的文字信息差不多的操作,区别是需要用DataSource对象存储文件内容,已知实现类为FileDataSource,之后调用BodyPart的setDataHandler给这个数据封装体封装附件信息,最后将它添加至multipart中即可。

最后,一定要将Multipart对象添加至邮件对象中

5.发送邮件

发送邮件操作

发送之前先保存邮件,之后调用Transport.send()即可发送,参数分别为message(邮件体对象)和address(收件人邮箱地址),这里还给大家写了一段不采用SSL加密的发送方式,但是一般来说在企业中都是采用的,所以也不和大家详细叙述了,有兴趣的朋友可以研究研究。

上一篇下一篇

猜你喜欢

热点阅读