博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaMail收发邮件的步骤
阅读量:7023 次
发布时间:2019-06-28

本文共 1388 字,大约阅读时间需要 4 分钟。

一、  发邮件

1) 获取Session

i) 实行一个Authentication类的子类,实行里面的public PasswordAuthentication getPasswordAuthentication()方法

ii) New一个上面类的实例,设置用户名和密码

iii) New一个Properties对象,设置mail.smtp.host  and mail.smtp.auth属性

iv) 同过Session的静态方法,获取一个Session实例

2) 生成Message

i) 没有附件的邮件

   第一步:new一个MimeMessage实例(根据Session)

   第二步:给Message实例设置subject、text属性

ii) 有附件的邮件

   第一步:根据Session new一个MimeMessage实例(Message)

   第二步:设置Message subject属性

   第三步:new一个MimeBodyPart实例 和 Mulipart(MimeMulipart)实例

   第四步:给MimeBodyPart实例设置邮件文本内容

   第五步:将MimeBodyPart实例,添加到Mulipart实例

   第六步:根据附件数循环:

           New MimeBodyPart实例

           获取FileDatasource

           将FileDatasource设置到MimeBodyPart

           设置MimeBodyPart的文件名

           将MimeBodyPart添加到 Mulipart

   第七步:将Mulipart设置成MimeMessage的内容

3) 发送邮件

i) 设置Message的fromAddress,toAddress,ccAddress,bccAddress

ii) Transport发送邮件    

二、  收邮件

1)new Properties实例,设置mail.pop3.host 的值

2)获取Session实例

3)根据Session,获取Store实例

4)连接store

5)获取Index文件夹

6)打开文件夹

7)获取文件夹里面所有Message

8)用FetchProfile优化Message的查找

    FetchProfile profile = new FetchProfile();

    profile.add(FetchProfile.Item.ENVELOPE);

    profile.add(FetchProfile.Item.FLAGS);

    profile.add("X-Mailer");

    inbox.fetch(msg, profile);

9)判断Message的MimeType类型如果是text/*类型,直接可以从Message从获取邮件from 地址、标题和内容,否则执行下面的步骤

10)从Message中获取Multipart

11)遍历Multipart中的BodyPart

12)判断bodyPart的Disposition是否是Part.ATTACHMENT

13)如果不是,直接获取bodyPart里面的content

14)否则获取bodyPart的文件名和文件流(inputstream),将流写入本地文件,实现附件的下载

转载于:https://www.cnblogs.com/xjqlove1989/p/3596442.html

你可能感兴趣的文章
js 图表插件 chartjs 2.4
查看>>
Python之登录
查看>>
SVG.js Mask覆盖和ClipPath裁剪
查看>>
Python多线程之线程创建和终止
查看>>
通过JS语句判断WEB网站的访问端是电脑还是手机
查看>>
(8) iphone 开发 数据传递 : 02 页面切换与数据的反向传递
查看>>
LPC3250 External Memory Controller
查看>>
MySQL内存表的弊端
查看>>
使用SIMILE Timeline 将邮件“事件”可视化
查看>>
SQL:创建某一时间段内的周末日期表以及特殊处理日期表
查看>>
什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?(转)
查看>>
LindAgile.SchedulingTask~设计一个不错的任务调度组件
查看>>
恶搞之手机垃圾信息发送器 手机短信骚扰器
查看>>
mysql replication之binlog-do-db、binlog-ignore-db
查看>>
Date类型和Long类型的相互转换
查看>>
XMPP协议
查看>>
CSS:给 input 中 type="text" 设置CSS样式
查看>>
Softmax函数
查看>>
hdu4462 Scaring the Birds
查看>>
设计中的道理_6
查看>>