JavaMail简单接收邮件

一个简单的例子,收取所有邮件并在控制台输出。

package cn.jmail.test;

import java.io.*;
import java.util.*;
import javax.mail.*;

public class MailReceives {
    public static void main(String[] args) {
        String pop3Server = "pop3.163.com";
        String protocol = "pop3";
        String username = "xxxx";
        String password = "xxxx";
        Properties prop = new Properties();
        prop.setProperty("mail.store.protocol", protocol);
        prop.setProperty("mail.pop3.host", pop3Server);
        Session mailSession = Session.getDefaultInstance(prop,null);
        mailSession.setDebug(false);
        try {
            Store store = mailSession.getStore(protocol);
            //登录验证
            store.connect(pop3Server,username,password);
            //获取邮箱账户
            Folder folder = store.getFolder("inbox");
            //设置访问权限
            folder.open(Folder.READ_WRITE);
            //获取所有邮件
            Message[] messages = folder.getMessages();
            for(int i=0; i<messages.length; i++){
                //主题
                String subject = messages[i].getSubject();
                //发送者地址
                String from = messages[i].getFrom()[0].toString();
                System.out.println("第" + (i+1) + "封邮件的主题为:" + subject + "\t发件人地址为:" + from);
                System.out.println("你想阅读此邮件吗(y/n)?");
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
                String input = bufferedReader.readLine();
                if("y".equals(input.toLowerCase())){
                    messages[i].writeTo(System.out);
                }
            }
            folder.close(false);
            store.close();
        } catch (NoSuchProviderException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

mail.jar和activation.jar  http://pan.baidu.com/s/1qW7MaS0

在这里和大家分享一本关于javamail的书籍《Java邮件开发详解》,大家可以自行百度一下。

时间: 2024-10-31 08:02:26

JavaMail简单接收邮件的相关文章

Android Java使用JavaMail API发送和接收邮件的代码示例

JavaMail是Oracle甲骨文开发的Java邮件类API,支持多种邮件协议,这里我们就来看一下Java使用JavaMail API发送和接收邮件的代码示例 使用Javamail发送邮件,必需的jar包(请下载javamail的源文件,官方下载页:http://www.oracle.com/technetwork/java/javamail/index-138643.html):mailapi.jar.定义了收发邮件所使用到的接口API:smtp.jar.包含了发送邮件使用到的类:pop3.

基于JavaMail的Java邮件发送:简单邮件发送

http://blog.csdn.net/xietansheng/article/details/51673073 http://www.cnblogs.com/codeplus/archive/2011/10/30/2229391.html http://blog.csdn.net/ghsau/article/details/17839983 ******************** 电子邮件的应用非常广泛,例如在某网站注册了一个账户,自动发送一封欢迎邮件,通过邮件找回密码,自动批量发送活动信

JavaMail实现收发邮件——(三)接收邮件

JavaMail接收邮件和发送邮件基本一致,大体上是把Transport换成了Store.不过和发送相比,难点是对接收到的邮件进行解析,不然看起来就跟乱码一样.之所以解析这一块难,就在于一封未知的邮件你不知道它的结构是怎样的,因此需要我们通过判断一步步解析.对于这一点,我也不是很清楚,所以下面我就瞎写一点基础的. 一.首先连接POP3服务器获取邮件 (1)创建Properties对象以及Session对象 // 创建一个有具体连接信息的Properties对象   Properties prop

C和C#两种方式实现邮件的简单接收

本文的主要内容是通过两种方式实现简单邮件的接收,一种方式是通过C语言实现,另一种是通过C#实现的, 两种方式在实现上有许多的不同之处,但是本质上都是一样的. 一,C语言实现方式 C语言接收邮件的步骤: 1.创建TCP连接   端口:默认110 2.连接到Pop3服务器 服务器名称:例如"pop3.163.com" 3.认证登录      用户账号,密码 4.发送请求,接收服务端信息   send(...)  返回"+OK" a.获取邮箱中邮件的数量    "

JavaMail入门第四篇 接收邮件

上一篇JavaMail入门第三篇 发送邮件中,我们学会了如何用JavaMail API提供的Transport类发送邮件,同样,JavaMail API中也提供了一些专门的类来对邮件的接收进行相关的操作,再介绍这些类之前,我们先来了解下邮件接收API的体系结构,JavaMail API中定义了一个java.mail.Store类,它用于执行邮件的接收任务,我们在程序中调用这个类中的方法可以获取邮箱中的各个邮件夹的信息.JavaMail使用Folder对象表示邮件夹,通过Folder对象的方法可以

JavaMail如何保证邮件发送成功

使用过JavaMail的api发送邮件的人可能会有这样一个疑惑:我如何知道我调用该api发送的邮件是否成功呢?一般的开放的api给我们调用都会有个返回值或者状态码,来告诉我们执行成功与否.但是JavaMail却没有提供这样一个返回值. 所以在调用JavaMail发送邮件的时候,我们只能通过catch异常的方式来判断邮件是否发送成功.我们认为只要没有异常发生,那么邮件就能发送成功.那么我们就来分析一下JavaMail为什么没有提供返回值,和通过异常判断邮件发送成功状态是否靠谱. JavaMail发

JavaMail实现收发邮件——(一)相关概念概述

一.JavaMail概述:        JavaMail是由Sun定义的一套收发电子邮件的API,不同的厂商可以提供自己的实现类.但它并没有包含在JDK中,而是作为JavaEE的一部分. 厂商所提供的JavaMail服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括: l         SMTP:简单邮件传输协议,用于发送电子邮件的传输协议: l         POP3:用于接收电子邮件的标准协议: l         IMAP:互联网消息协议,是POP3的替代协议. 这三种协议都有

java-基于JavaMail的Java邮件发送

1.基于JavaMail的Java邮件发送:简单邮件发送 2.基于JavaMail的Java邮件发送:复杂邮件发送

JavaMail实现收发邮件(五)使用SSL实现加密传输

一 概念简介 Secure Socket Layer,为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听.一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全标准,但限制出境.只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL.当前版本为3.0.它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输.(PS:来至百度百科) 二 在JavaM