javaMail企业开发环境下的使用

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加密的发送方式,但是一般来说在企业中都是采用的,所以也不和大家详细叙述了,有兴趣的朋友可以研究研究。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 为何要发电子邮件? 作为职场人士,想必在工作中大家都经常收发电子邮件,一封高效得体的工作邮件势必会让沟通事半功...
    Helen_Cat阅读 5,967评论 0 12
  • 本文包括:1、名词解释2、邮件收发过程3、JavaMail 知识概要4、发送一封符合 MIME 协议的 JavaM...
    廖少少阅读 4,075评论 2 13
  • 1 为何要发电子邮件? 作为职场人士,想必在工作中大家都经常收发电子邮件,一封高效得体的工作邮件势必会让沟通事半功...
    嘛样阅读 90,089评论 14 108
  • 从古代的八百里加急,到现在的电子邮件,邮件的发展见证了上下五千年的发展史,这些当然是废话,只是要说说邮件的重要性。...
    大牧莫邪阅读 1,578评论 0 13
  • 还记得回家那天,一早起床,懵懵的就打上了车,可爱的司机叔叔,大约拼凑了十几分钟人,载满满一车的人,风驰电掣地在马路...
    八宝一阅读 308评论 0 0