无意摘花
这个作者很懒,什么都没留下…
展开
-
JavaMail详解(一)——协议篇
JavaMail详解(一)——协议篇JavaMail详解(二)——API简介JavaMail详解(三)——发送邮件JavaMail详解(四)——邮件验证和读取JavaMail详解(五)——身份验证JavaMail详解(六)——邮件回复JavaMail详解(一)——协议篇2016-11-04 15:21:30原创 2016-11-23 12:51:16 · 835 阅读 · 0 评论 -
JavaMail详解(二)——API简介
官网:https://java.net/projects/javamail/pages/Home1. API简介 JavaMail API提供了一个独立于平台和协议的框架,用来构建邮件和消息应用。JavaMail API提供了一个包含邮件系统的抽象定义的类集。它是个用来阅读、组建和发送电子邮件的可选包(标准扩展)。 JavaMail提供了用于构建消息系统的接口的元素,包含了...原创 2020-05-07 16:39:52 · 570 阅读 · 0 评论 -
JavaMail详解(三)——发送邮件
现在我们已经对JavaMail API和核心类都有了初步的了解,现在来写一个简单的程序发送简单的邮件、带附件的邮件、HTML内容的邮件和内嵌图片的邮件。 上面所有场景都有下面的相同的基本步骤:获得Session对象 组装消息 发送消息发送简单邮件 SendEmail.javaimport java.util.Properties;import jav...原创 2020-05-07 16:41:15 · 480 阅读 · 0 评论 -
JavaMail详解(四)——邮件验证和读取
在学习本节之前,要先了解两个概念:验证(Check)和读取(Fetch)。 在JavaMail中验证邮件,是在打开邮件各个文件夹并获取各个消息的一个过程。这时我们仅仅验证每个邮件消息的头部,如From、To、Subject。而内容不会读取。 在JavaMail中读取邮件,是在打开各个文件夹并获取消息的过程,除了邮件的头部,还会根据识别的邮件类型来读取邮件内容。 ...原创 2020-05-07 16:42:22 · 1155 阅读 · 2 评论 -
JavaMail详解(五)——身份验证
前面介绍了邮件的验证和读取,在连接邮件的Store时,我们传递了身份验证证书(用户名和密码)连同host。接下来我配置Properties,通过自定义身份验证实例来调用Session。一下示例通过对CheckingMail修改,使用自定义Authentication类,如下:import java.util.Properties;import javax.mail.Folder;...原创 2020-05-07 16:44:36 · 465 阅读 · 0 评论 -
JavaMail详解(六)——邮件回复
本节将学习如何使用JavaMail API回复邮件。基本的步骤包括:获取带有POP和SMTP服务细节属性的会话Session对象。我们将用到POP服务查询邮件,并使用SMTP服务发送邮件。 创建POP3 Store对象并连接。 创建Folder对象并打开邮箱中相应的文件夹 查询消息 遍历消息并将想要回复的邮件设置上Y或y 获取消息的所有信息(如To,From,Subject,...原创 2020-05-07 16:45:26 · 870 阅读 · 0 评论 -
JavaMail详解(七)——邮件转发
本节我们看看如何用JavaMail API转发一个邮件。基本的步骤如下:获取持有POP和SMTP详情属性的Session对象。我们将使用POP详情查询消息,使用SMPT详情发送消息 创建POP3的Store对象并连接到Store 创建Folder对象并打开邮件中的相应文件夹 查询消息 遍历消息,键入Y或y就转发该邮件 获取消息的所有信息(To、From、Subject、Con...原创 2020-05-08 07:57:51 · 841 阅读 · 0 评论 -
JavaMail详解(八)——邮件删除
本节我们看看如何用JavaMail API消息邮件。删除邮件实际上是通过设置邮件的相关标识完成的。不同的消息状态有不同的标识,有些是系统定义的,有些是用户自定义的。预定义的消息标识在类Flags.Flag中,如下:Flags.Flag.ANSWEREDFlags.Flag.DELETEDFlags.Flag.DRAFTFlags.Flag.FLAGGEDFlags.Flag....原创 2020-05-08 07:58:25 · 1146 阅读 · 0 评论 -
JavaMail详解(九)——文件夹管理
到现在为止,前面我们接触的都是INBOX这个文件夹。这是大多数邮件的存在的默认目录。有些系统可能称之为INBOX,而有些可能有其他的名字。但是,通过JavaMail API,你总是可以用INBOX来访问收件箱。 JavaMail API代表文件夹的类是抽象类Folder:public abstract class Folder 该类中声明了一些方法,用以向服务端请求...原创 2020-05-08 07:58:59 · 902 阅读 · 0 评论 -
JavaMail详解(十)——应用实战,邮件监听
通过前面的介绍,大家已经对用JavaMail来开发简单的收发邮件应用没有问题了,下面从实际情况出发,看一下笔者经历过的一个邮件项目。背景 现在公司的销售在工作中遇到问题时(可能是技术方面,也可能是产品问题),就会发邮件到公司的支持团队的邮箱中,支持团队在接收到问题邮件后,会给出相应的解答。但这个流程还有一定的问题:销售提出问题以后,不能及时了解到问题的进度 无法排除提相...原创 2020-05-08 07:59:28 · 4330 阅读 · 4 评论 -
JavaMail实战——内容解析(包含文本、图片)
邮件内容的解析,包括:发件人 收件人:收件人、抄送人、秘密抄送人 主题 发送时间 接收时间 消息id 消息所在文件夹 消息内容:文本内容和图片,暂时不包含附件import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.Unsupp...原创 2020-05-08 07:59:50 · 2960 阅读 · 0 评论 -
JavaMail实战——内容解析,如何去除历史内容,只收取本次内容
这个问题不太好描述,因此还原一下场景: 看下面的邮件,这封邮件是对之前一封邮件的回复,因此在内容上就把之前邮件的内容也附加上了,那如果想只取本次邮件内容,该怎么做呢? 笔者在JavaMail API和邮件协议上都没有找到好的解决办法,有对邮件协议深刻了解的同学可以赐教,本文通过对内容分析,结构整理,“总结”出一套解决方案,但方案并不完美。1. 原始内容用bloc...原创 2020-05-08 08:00:15 · 1262 阅读 · 1 评论