`
envoydada
  • 浏览: 65390 次
社区版块
存档分类
最新评论

JavaMail收取文本邮件

阅读更多
import  javax.mail.Store;
import  javax.mail. * ;
import  java.io.BufferedReader;
import  java.io.InputStreamReader;
import  java.io. * ;
/**
 * 
 * <p>Title: JavaMail</p> 
 * <p>Description:收取邮件 </p> 
 * <p>Copyright: Copyright (c) 2005</p> 
 * 
@author  Derek.G
 * 
@version  1.0
 * 收取邮件:
    1.获取一个会话;
    2.获取并连接邮箱所在的存储器(Store对象),打开该用户的邮箱;
    3.获取所希望阅读的消息;
    4.关闭目录和连接。
 
*/
public   class  ReadMail  extends  MailProcessBase{
 
// 初始化主机
  String host = " pop3.usish.com " ;
  String username
= " derek_g " ;
  String password
= " 12140827 " ;
  
public  ReadMail()  throws  Exception {
    
super ();
  }

  
public   void  readMail(){
  
try  {
    
// 获取Store对象,使用POP3协议,也可能使用IMAP
    System.out.println( " 获取Store对象 " );
    Store store 
=  mailSession.getStore( " pop3 " );
    
// 连接到邮件服务器
    System.out.println( " 连接到邮件服务器 " );
    store.connect(host, username, password);
    
// 获取该用户Folder对象,并以只读方式打开
    System.out.println( " 获取该用户Folder对象 " );
    Folder folder 
=  store.getFolder( " INBOX " );
    folder.open(Folder.READ_ONLY);
    
// 检索所有邮件,按需填充
    System.out.println( " 检索所有邮件 " );
    Message message[] 
=  folder.getMessages();
    
// 遍历每一个邮件
    System.out.println( " 遍历每一个邮件 " );
    BufferedReader reader 
=   new  BufferedReader( new  InputStreamReader(System.in));
    
for  ( int  i  =   0 , n  =  message.length; i  <  n; i ++ ) {
      
// 打印每个邮件的发件人和主题
      System.out.println(i  +   " "   +  message[i].getFrom()[ 0 +   " \t "   +
                         message[i].getSubject());
      
// 是否读取该消息
      System.out.println( " 是否读取消息内容? "   +   " [YES读取 / QUIT结束] " );
      String line 
=  reader.readLine();
      FileOutputStream fos 
=   new  FileOutputStream( " c:\\mail.txt " );
      
if (line.equals( " YES " )) {
        message[i].writeTo(fos);
// 这种方式只能显示文本消息
        System.out.println(message[i].getContent());
      }
        
else   break ;
    }
    System.out.println(
" 收取邮件完毕! " );
    folder.close(
false );
    store.close();
  }
  
catch  (NoSuchProviderException ex) {ex.printStackTrace();}
  
catch  (MessagingException ex) {ex.printStackTrace();}
  
catch  (IOException ex) { ex.printStackTrace(); }

  }
  
public   static   void  main(String[] args) {
  
try  {
    
new  ReadMail().readMail();
  }
  
catch  (Exception ex) {ex.printStackTrace(); }
  }
}
分享到:
评论

相关推荐

    JavaMail收发Gmail邮件

    ### JavaMail收发Gmail邮件知识点详解 #### 一、JavaMail简介 JavaMail API是Java平台中的一个标准扩展库,用于发送、接收以及管理电子邮件。它提供了丰富的接口来实现邮件的各种操作,如构建复杂的MIME消息、处理...

    javamail实现邮件收发和加密

    发送邮件通常使用 SMTP (Simple Mail Transfer Protocol),而收取邮件则常用 POP3 (Post Office Protocol) 或 IMAP (Internet Message Access Protocol)。JavaMail 提供了对这些协议的支持,开发者可以通过配置 `...

    javamail附件从流中获取

    JavaMail 是一个开源库,用于在Java应用程序中发送和接收电子邮件。它提供了丰富的API,使得开发者可以方便地处理复杂的邮件操作,包括添加附件、设置HTML内容等。在"javamail附件从流中获取"这个主题中,我们将深入...

    基于Javamail的邮件收发系统.zip

    - 收取邮件:连接到服务器上的特定`Folder`,使用`Folder`的`fetch()`方法获取邮件`Message`。 - 处理邮件:解析`Message`,提取并处理邮件内容。 7. **安全性和认证**: - JavaMail 支持多种安全协议,如SSL/...

    浅析JavaMail发送邮件后再通过JavaMail接收格式问题

    System.out.println("纯文本邮件: " + bodyPart.getContent()); } else if (bodyPart.isMimeType("text/html")) { System.out.println("html邮件: " + bodyPart.getContent()); } else if (bodyPart.isMimeType...

    javamail.jar,javamail资源包

    它提供了读取和管理邮件存储的能力,如收取新的邮件、删除已读邮件等。主要的实现有`POP3Store`和`IMAPStore`,分别对应POP3和IMAP协议。 4. **Transport**: 负责将邮件发送到指定的邮件服务器。通过`javax.mail....

    JavaMail邮件系统

    3. **POP3(Post Office Protocol version 3)** 和 **IMAP4(Internet Message Access Protocol version 4)**:JavaMail支持这两种常见的邮件接收协议,用户可以根据需求选择合适的协议来收取邮件。 4. **SMTP...

    邮件JavaMail

    - 收取邮件:JavaMail同样支持收取邮件,通过Store对象连接到邮件服务器,然后打开Folder,读取Message。 4. **注意点**: - 安全性:使用JavaMail发送邮件时,确保传输过程是加密的,如使用SMTPS协议而非不安全...

    JavaMail邮件上传发送的成功的小demo

    值得注意的是,JavaMail还支持其他高级特性,如HTML格式的邮件、抄送和密送、邮件搜索、IMAP和POP3协议的邮件收取等。此外,为了确保邮件发送的安全性,现代应用通常会使用SSL/TLS加密连接,这在配置SMTP服务器时也...

    基于Javamail的邮件收发系统(系统+论文+开题报告+任务书+外文翻译+文献综述+答辩PPT).rar

    JavaMail API 支持这两种协议,可以方便地实现邮件的收取。 4. **邮件格式与MIME**:邮件通常包含文本、附件等多种内容,MIME(多用途Internet邮件扩展)是一种标准,用于定义非ASCII字符和多种类型的数据(如图片...

    javamail-1.4.7.7z

    2. **POP3(Post Office Protocol v3)和IMAP(Internet Message Access Protocol)支持**:除了发送邮件,JavaMail 还能处理接收邮件,支持POP3和IMAP这两种常见的邮件收取协议。 3. **多部分和MIME(Multipurpose...

    JavaMail_简易教程

    - **JavaMail收取邮件属性配置**:展示了不同邮件服务提供商(如Gmail、Hotmail等)的配置属性。 - **JavaMail发送邮件**:一个名为`MailSender.java`的示例程序,用于发送邮件。 - **JavaMail收取邮件POP3**:演示...

    javamail所需的两个jar包

    没有这个库,JavaMail可能无法正确解析某些邮件附件,特别是那些需要特定处理(如图片、文档或音频文件)的非文本内容。 3. **集成与使用**: 在Java项目中使用JavaMail,你需要将这两个jar文件添加到项目的类路径...

    web版邮件接收发送问题

    首先,我们要知道Java中处理邮件的主要API是JavaMail API。这是一个开放源码的Java库,它提供了与SMTP(简单邮件传输协议)、POP3(邮局协议)和IMAP(因特网消息访问协议)等邮件服务器交互的能力。JavaMail API...

    SpringBoot整合邮箱JavaMail

    以上代码中,我们定义了三个方法:`sendSimpleMail`用于发送纯文本邮件,`sendHtmlMail`用于发送HTML格式的邮件,而`sendEmailWithImageAndAttachment`则支持在邮件中嵌入图片和添加附件。 在实际应用中,你可以...

    javamail的jar文件

    JavaMail API是Java平台上用于处理电子邮件的一套强大的库,它为开发者提供了丰富的接口和类,以便于发送、接收和管理邮件。在JavaMail API中,`mail.jar`和`activation.jar`是两个至关重要的组件。 `mail.jar`是...

    完整邮件客户端

    2. 发送邮件:通过SMTP协议,JavaMail可以创建并发送MIME格式的邮件,包括文本、HTML、附件等。开发者可以自定义邮件主题、正文内容、收件人、抄送人等信息。 3. 接收邮件:利用POP3协议,JavaMail可以从邮件服务器...

    javamail source code

    使用 `Multipart` 类,JavaMail 可以轻松添加多个部分到一封邮件中,包括文本、图片、音频、视频等各种类型的附件。`MimeBodyPart` 用于表示邮件中的单个部分。 5. **邮件地址处理** `InternetAddress` 类处理...

    java_web开发技术08_javamail

    JavaMail是Java编程语言中用于处理电子邮件的API,它提供了...开发者不仅可以学习如何发送简单的文本邮件,还能了解如何处理更复杂的邮件格式和协议。通过实践这些示例,可以提升在Java Web环境中处理电子邮件的能力。

    javaMail编程实例

    使用JavaMail在Applet中收取邮件时,可能需要用户授权,或者使用HTTPS等安全连接方式。 E-mail口令验证是另一个安全性相关的功能。JavaMail支持SSL(Secure Sockets Layer)和TLS(Transport Layer Security)加密...

Global site tag (gtag.js) - Google Analytics