接受邮件(三)

接受邮件(三)

 

第三讲的接收邮件情况跟发送邮件一样,首先建立Session,然后取得相对应的协议(pop/imap)的Store(代表了存储邮件的邮件服务器),在连接Store的过程中需要指定host,username,password,连接Store成功后会返回Folder对象,最后通过Folder对象的getMessages()方法获取邮件信息。在读取邮件内容后,别忘记了关闭Folder和Store。
folder.close(true);

store.close();
传递给Folder.close()方法的类型参数表示是否在删除操作邮件后更新Folder。

注意:在连接前检查自己的POP,IMAP邮件服务有没有打开。最好尝试一下 ping pop.qq.com如果有返回数据表证明服务器可以连接。

 

package com.mail;
  /**
  * 接收邮件
  */
  import java.util.Properties;
 
  import javax.mail.Folder;
 import javax.mail.Message;
 import javax.mail.Session;
 import javax.mail.Store;
 
 public class RevMail {
 
     public static void main(String[] args) throws Exception {
         Properties props = new Properties();
         Session session = Session.getDefaultInstance(props);
 //        Store store = session.getStore("imap");
         //取得pop3协议的邮件服务器
         Store store = session.getStore("pop3");
         //连接pop.qq.com邮件服务器
         store.connect("pop.qq.com", "343820302@qq.com", "********");
         //返回文件夹对象
         Folder folder = store.getFolder("INBOX");
         //设置仅读
         folder.open(Folder.READ_ONLY);
         //获取信息
         Message message[] = folder.getMessages();
         for(int i=message.length-1; i>0; i--) {
             //打印主题
             System.out.println(message[i].getSubject());
             System.out.println("-----------------------------------------");
         }
         folder.close(true);
         store.close();
 
        
     }
 }

 

PS:如果用imap连接,请用这段代码Store store = session.getStore("imap"); store.connect("imap.qq.com", "343820302@qq.com", "*********");

有些邮件服务器不支持imap协议的,请大家注意

如果有何问题,请留意大家一起探讨

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值