




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、JavaMail:简单的邮件接收程序 实现了 JavaMail 中邮件内容的创建、邮件的发送,现在就看看怎样接收邮件了。 邮件的接收与邮件的发送的基本操作步骤很类似,邮件的发送需要用到 Transport 类,邮件的接收则需要使用 Store 类,而不管是发送还是接收, Session 类和 Properties 类都是必需的。使用 Properties 对象设置连接 SMTP 服务器、 POP3 服务器的主机名、协议等,通过 Properties 对象获取应用于整个邮件程序所必须的 Session 对象,它保存了建立网络连接的会话信息,保持了邮件程序与服务器通信的环境信息。 不同的是: 邮件
2、的接收中还要用到 Folder 类,它表示邮件夹,这是邮件的接收比邮件的发送多出来的一个类。现在有些邮箱时支持把邮件分开放在各个用户命名的邮件夹中,邮件夹里面就有好多邮件了。 各个类的操作流程: 1、创建一个 Properties 对象,该类在 java.util 包中,以键-值对的形式设置邮件接收中需要用到的传输协议,如 POP3 协议,此外还可以设置想要连接的 POP3 服务器的主机名; 2、先使用 Session 类中静态的 getInstance() 或getDefaultInstance() 获得自身对象,此时调用这两个方法时应该传入上面创建的 Properties 对象; 3、再用
3、 Session 对象调用 getStore() 方法获得 Store 抽象类的具体实现子类对象,如 POP3Store 类,不过这不用我们关心,Session 对象会根据 Properties 对象中已经设置好的连接协议进行创建并返回; 4、使用得到的 Store 对象通过 Store.getFolder() 方法获得邮箱中的邮件夹 Folder 对象,它包含了邮箱中的所有邮件,因此使用 Folder 对象的 Folder.getMessages() 方法则可以返回邮件夹中的所有邮件 Message 对象了 5、获得了 Message 对象之后,怎么处理里面的内容则是邮件解析的工作了,不过在
4、这里我们还是可以打印出邮件内的原始内容。 程序要求: 获得邮箱中的所有邮件,打印出邮件的发件人地址、主题,并由用户选择是否打开邮件(目前的程序只能打开邮件的原始内容)。我们由于测试的邮箱为 ,用户名为 testhao ,密码为 123456 ,需要连接的 POP3 服务器为 。我们先用其他邮箱向该邮箱发送一封简单的纯文本邮件 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Properties; import javax.mail.Folder; import javax.mai
5、l.Message; import javax.mail.Session; import javax.mail.Store; /* * 简单的邮件接收程序,打印出邮件的原始内容 * author haolloyin */ public class SimpleStoreMails public static void main(String args) throws Exception / 连接pop3服务器的主机名、协议、用户名、密码 String pop3Server = ; String protocol = pop3; String user = testhao; String pwd
6、 = 123456; / 创建一个有具体连接信息的Properties对象 Properties props = new Properties(); props.setProperty(tocol, protocol); props.setProperty(mail.pop3.host, pop3Server); / 使用Properties对象获得Session对象 Session session = Session.getInstance(props); session.setDebug(true); / 利用Session对象获得Store对象,并连接pop3
7、服务器 Store store = session.getStore(); store.connect(pop3Server, user, pwd); / 获得邮箱内的邮件夹Folder对象,以只读打开 Folder folder = store.getFolder(inbox); folder.open(Folder.READ_ONLY); / 获得邮件夹Folder内的所有邮件Message对象 Message messages = folder.getMessages(); int mailCounts = messages.length; for(int i = 0; i mailCo
8、unts; i+) String subject = messagesi.getSubject(); String from = (messagesi.getFrom()0).toString(); System.out.println(第 + (i+1) + 封邮件的主题: + subject); System.out.println(第 + (i+1) + 封邮件的发件人地址: + from); System.out.println(是否打开该邮件(yes/no)?:); BufferedReader br = new BufferedReader(new InputStreamReader(System.in); String input
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福建武夷山三茶集团有限公司下属子公司(第一批次)招聘考试笔试试题(含答案)
- 【铜川】2025年陕西铜川市事业单位招聘高层次人才13人(第三批)笔试历年典型考题及考点剖析附带答案详解
- 小学悯农教学课件
- 文库发布:的说课课件
- 收纳职业课件教学
- 《鸟鸣涧》教学课件
- 教学课件改稿怎么写好
- 语文片段教学课件
- DB33T 1126-2016 城市轨道交通岩土工程勘察规范
- 【成都】2025年成都市科学技术协会所属1家事业单位招聘工作人员2人笔试历年典型考题及考点剖析附带答案详解
- 混凝土基层检验批质量检验记录
- 食品加工与保藏原理期末考试复习题及参考答案
- 主播艺人入职面试信息登记表
- 特应性皮炎的诊断与治疗课件
- 社会学概论全套PPT完整教学课件
- 2016-2023年浙江新高考英语读后续写试题真题及范文赏析
- 2023数学建模国赛A题优秀
- 山西省贯彻《二手车流通管理办法》实施细则
- 社区工作者经典备考题库(必背300题)
- 2023年陕西韩城象山中学高一物理第二学期期末联考试题(含答案解析)
- 年产10万吨污水处理药剂菌剂项目环评报告书
评论
0/150
提交评论