`
2277259257
  • 浏览: 515137 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

电子邮件系统 2----JavaMail 搜索指定邮件示例

 
阅读更多
  1. /** 
  2.  * CrazyItTest 
  3.  * 使用JavaMail 搜索并删除指定邮件示例 
  4.  */  
  5. package com.labci.javamail.test;  
  6. import java.io.BufferedReader;  
  7. import java.io.IOException;  
  8. import java.io.InputStreamReader;  
  9. import java.util.Properties;  
  10. import javax.mail.Flags;  
  11. import javax.mail.Folder;  
  12. import javax.mail.Message;  
  13. import javax.mail.MessagingException;  
  14. import javax.mail.Session;  
  15. import javax.mail.Store;  
  16. import javax.mail.search.AndTerm;  
  17. import javax.mail.search.FromStringTerm;  
  18. import javax.mail.search.SearchTerm;  
  19. import javax.mail.search.SubjectTerm;  
  20. /** 
  21.  * @author Bill Tu(tujiyue/iwtxokhtd) 
  22.  * May 27, 2011[10:04:20 PM] 
  23.  * 
  24.  */  
  25. public class SearchEmailTest {  
  26.     private static final String  PROTOCOL = "pop3";  
  27.     private static final String  HOST = "pop3.163.com";  
  28.     private static final String USER = "iwtxokhtd";  
  29.     private static final String PASS="123456";  
  30.       
  31.     private static Session getMailSession(){  
  32.         Properties props=new Properties();  
  33.         props.put("mail.store.protocol", PROTOCOL);  
  34.         props.put("mail.pop3.host", HOST);  
  35.           
  36.         Session session=Session.getDefaultInstance(props);  
  37.         return session;  
  38.     }  
  39.       
  40.       
  41.     private static void searchEmail() throws MessagingException, IOException{  
  42.         Store store=getMailSession().getStore();  
  43.         store.connect(HOST,USER,PASS);  
  44.           
  45.         Folder receiveFolder=store.getFolder("inbox");//对于POP3协议此参数值只能是inbox   
  46.         receiveFolder.open(Folder.READ_WRITE);//设置收件夹打开后的读写权限   
  47.           
  48.         int messageCount=receiveFolder.getMessageCount();  
  49.         System.out.println("总共拥有邮件数:"+messageCount);  
  50.           
  51.         if(messageCount>0){  
  52.               
  53.             //搜索指定条件的邮件,还有许多其它的搜索条件,请查阅相关的API   
  54.             SearchTerm search=new AndTerm(new FromStringTerm("ordernotifier@sendmail.dangdang.com"),  
  55.                     new SubjectTerm("订单8480917155已收到,正在处理中"));  
  56.               
  57.             Message []messages=receiveFolder.search(search);  
  58.             int count=messages.length;  
  59.             if(count<=0){  
  60.                 System.out.println("对不起,没搜到你要的邮件");  
  61.             }else{  
  62.                 System.out.println("共搜索到"+count+"封符合条件的邮件!");  
  63.                 for(Message msg:messages){  
  64.                     System.out.println("发件人:"+msg.getFrom()[0]+",主题为:"+msg.getSubject());  
  65.                     System.out.println("您是否要删除此邮件?若要请输入yes:");  
  66.                     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  
  67.                     String input=br.readLine();  
  68.                     if(input!=null && !"".equals(input)  
  69.                             &&"yes".equals(input.trim())){  
  70.                         //执行后面的关闭才会真正删除掉此邮件   
  71.                         msg.setFlag(Flags.Flag.DELETED, true);  
  72.                     }  
  73.                 }  
  74.             }  
  75.         }  
  76.         receiveFolder.close(true);//关闭邮件夹对象   
  77.         store.close();//断开连接   
  78.           
  79.           
  80.     }  
  81.       
  82.       
  83.       
  84.     /** 
  85.      * @param args 
  86.      * @throws IOException  
  87.      * @throws MessagingException  
  88.      */  
  89.     public static void main(String[] args) throws MessagingException, IOException {  
  90.         searchEmail();  
  91.     }  
  92. }  

 

分享到:
评论

相关推荐

    JavaMail javamail java电子邮件客户端

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中实现电子邮件的发送和接收。它提供了对各种邮件协议的支持,如 Simple Mail Transfer Protocol (SMTP)、Post Office Protocol (POP3) 和 Internet Message ...

    Java电子邮件-javamail.rar

    在学习和使用这个Java电子邮件-javamail的示例代码时,你可以深入了解每个组件的用法,并尝试构建自己的邮件系统。这包括设置邮件服务器的连接参数、创建和发送带有附件的邮件、读取和管理收件箱中的邮件等。通过...

    javamail使用demo示例

    JavaMail 是一个开源库,它为Java程序员提供了一组API,用于处理电子邮件的发送和接收。这个"javamail使用demo示例"是JavaMail官方提供的一个实例集合,旨在帮助开发者更好地理解和应用JavaMail库。下面我们将深入...

    James+Javamail构建邮件服务

    - **JavaMail API**:JavaMail API是一个用于读取、编写和发送电子邮件的可选包(标准扩展)。它可以用来构建基于标准的电子邮件客户端,并且支持多种互联网邮件协议,如SMTP(用于发送邮件)、POP(用于接收邮件)...

    邮件发送系统主体源程序.rar_javamail_邮件系统 linux

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。这个压缩包文件"邮件发送系统主体源程序.rar"包含了一个使用JavaMail实现的邮件发送系统的主体源代码,可以帮助开发者理解如何在Linux环境中...

    使用javaMail发邮件及收取邮箱未读邮件并标记为已读

    JavaMail 是一个强大的 Java 库,它允许开发者在应用程序中实现电子邮件的发送和接收功能。这个库支持多种邮件协议,如 SMTP(简单邮件传输协议)用于发送邮件,POP3(邮局协议)和 IMAP(因特网消息访问协议)用于...

    javamail-1.4.3

    在JavaMail 1.4.3 版本中,包含了用于处理电子邮件的核心库和示例代码,帮助开发者更好地理解和使用这个强大的工具。 1. **JavaMail API 概述** - JavaMail API 提供了一组接口和类,用于创建、发送、读取和管理...

    javamail发送html邮件

    JavaMail API 是一个用于发送、接收电子邮件的标准接口集合,它支持多种协议(如 SMTP、IMAP 和 POP3),使得 Java 应用程序能够轻松地发送和接收电子邮件。 #### 二、发送 HTML 格式的邮件 在实际应用中,经常需要...

    java发送邮件 javaMail

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个库提供了一组API,使得开发者能够轻松地处理SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件服务。在...

    Java邮件发送 javamail

    它们不仅构成了电子邮件系统的基础架构,也是实现高效、安全、多功能邮件服务的关键。通过JavaMail API,开发者能够轻松地构建支持这些协议的应用程序,从而提升电子邮件处理的效率和用户体验。

    JavaMail jsp发送邮件

    在给定的示例中,通过 JSP 页面实现了基于 JavaMail 的电子邮件发送功能。以下是对关键部分的详细解释: ##### 1. JSP 页面设置 - **页面导入**:首先,该 JSP 页面通过 `&lt;%@ page import="... "%&gt;` 指令导入了...

    JavaMail开发手册

    JavaMail 是一个开源的 Java API,它允许开发者在 Java 应用程序中处理电子邮件。这个API提供了丰富的功能,包括创建、发送、接收和解析邮件。JavaMail 开发手册是学习和掌握这一技术的重要资源,涵盖了从基本概念到...

    JavaMail示例

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。这个示例涉及到使用 JavaMail API 来实现邮件服务器的交互,包括 SMTP(Simple Mail Transfer Protocol)用于发送邮件和 POP3(Post Office Protocol...

    javamail-1_3_1.zip

    JavaMail 是一个开源的 Java API,它允许开发者在 Java 应用程序中发送和接收电子邮件。这个名为 "javamail-1_3_1.zip" 的压缩包包含的是 JavaMail 的 1.3.1 版本,这是一个相对稳定的版本,提供了一套完整的邮件...

    使用JavaMail实现发送邮件

    JavaMail是一个用于在Java应用程序中处理邮件的API,它提供了一种标准的方式来发送和接收电子邮件。本篇将深入探讨如何使用JavaMail实现发送邮件,以及相关的源码分析。 首先,我们需要了解JavaMail的基本组件。`...

    javaMail发送和接收邮件

    JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中发送和接收电子邮件。它提供了丰富的 API,使得开发者可以方便地与各种邮件服务器进行交互,支持 SMTP、POP3 和 IMAP 协议。本篇文章将深入探讨 JavaMail 的...

    javamail使用的2个jar包(activation.jar+commons-email-1.1.jar)

    JavaMail 是一个强大的开源库,用于在Java应用程序中实现电子邮件的发送和接收。它提供了标准的API,使得开发者能够方便地处理SMTP、POP3、IMAP等邮件协议。在这个场景中,我们关注的是两个关键的JavaMail依赖jar包...

    javamail-lib

    JavaMail是一个用于处理电子邮件的开源库,在Java编程环境中广泛使用,但这里提供的文件名列表并不包含任何JavaMail的代码、文档或相关资源。因此,无法生成关于JavaMail的知识点。 如果您的意图是获取JavaMail的...

    javamail发送邮件.zip

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这...

    james和javamail实现邮件收发(带发送附件)

    在IT行业中,电子邮件的收发是一项基础且重要的功能,尤其对于开发者来说,了解如何通过编程方式实现邮件的发送和接收是非常必要的。在这个例子中,我们将深入探讨如何利用James服务器和JavaMail API来实现这一目标...

Global site tag (gtag.js) - Google Analytics