package com.view;
import java.util.Properties;
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.internet.InternetAddress;
/*
Title: 使用JavaMail接收邮件
Description: 实例JavaMail包接收邮件,本实例没有实现接收邮件的附件。
Copyright: Copyright (c) 2003
Filename: POPMail.java
@version 1.0
*/
public class ReceiveEmail{
/*
方法说明:主方法,接收用户输入的邮箱服务器、用户名和密码
输入参数:
返回类型:
*/
public static void main(String args[]){
try{
String popServer="pop3.sina.com"; //邮件服务器
String popUser="chenyifa0103"; //根据自已的用户名修改
String popPassword="chen93870349"; //根据自已的密码修改
String url = null;
url = receive(popServer, popUser, popPassword);
WebBrowser web = new WebBrowser();
web.run(args.length == 0 ? url : args[0]);
}catch (Exception ex){
System.out.println("Usage: java com.lotontech.mail.POPMail"+" popServer popUser popPassword");
}
System.exit(0);
}
/*
方法说明:接收邮件信息
输入参数:
返回类型:*/
public static String receive(String popServer, String popUser, String popPassword){
Store store=null;
Folder folder=null;
String url = null;
try{
//获取默认会话
Properties props = System.getProperties();
Session session = Session.getDefaultInstance(props, null);
//使用POP3会话机制,连接服务器
store = session.getStore("pop3");
store.connect(popServer, popUser, popPassword);
//获取默认文件夹
folder = store.getDefaultFolder();
if (folder == null) throw new Exception("No default folder");
//如果是收件箱
folder = folder.getFolder("INBOX");
if (folder == null) throw new Exception("No POP3 INBOX");
//使用只读方式打开收件箱
folder.open(Folder.READ_ONLY);
//得到文件夹信息,获取邮件列表
Message[] msgs = folder.getMessages();
/*for (int msgNum = 0; msgNum < msgs.length; msgNum++){
printMessage(msgs[msgNum]);
}*/
url = printMessage(msgs[msgs.length-1]);
return url;
}catch (Exception ex){
ex.printStackTrace();
return null;
}
finally{
//释放资源
try{
if (folder!=null) folder.close(false);
if (store!=null) store.close();
}catch (Exception ex2) {
ex2.printStackTrace();
}
}
}
/*
方法说明:打印邮件信息
输入参数:Message message 信息对象
返回类型:
*/
public static String printMessage(Message message){
String url = null;
try{
//获得发送邮件地址
String from=((InternetAddress)message.getFrom()[0]).getPersonal();
if (from==null) from=((InternetAddress)message.getFrom()[0]).getAddress();
System.out.println("FROM: "+from);
//获取主题
String subject=message.getSubject();
System.out.println("SUBJECT: "+subject);
url = "http://"+subject+":8080/liangku";
System.out.println(url);
return url;
/*//获取信息对象
Part messagePart=message;
Object content=messagePart.getContent();
//附件
if (content instanceof Multipart){
messagePart=((Multipart)content).getBodyPart(0);
System.out.println("[ Multipart Message ]");
}
//获取content类型
String contentType=messagePart.getContentType();
//如果邮件内容是纯文本或者是HTML,那么打印出信息
System.out.println("CONTENT:"+contentType);
if (contentType.startsWith("text/plain")||
contentType.startsWith("text/html")){
InputStream is = messagePart.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(is));
String thisLine=reader.readLine();
while (thisLine!=null){
System.out.println(thisLine);
thisLine=reader.readLine();
}
}*/
}catch (Exception ex){
ex.printStackTrace();
}
return url;
}
}
分享到:
相关推荐
本文将详细讲解如何使用C#来接收邮件,主要关注POP3(Post Office Protocol version 3)协议,这是最常见的用于从邮件服务器下载邮件的协议。 一、POP3简介 POP3允许用户从邮件服务器上下载邮件到本地设备,通常在...
关于 Spring Boot 定时任务接收邮件并且存储附件的方法讲解 Spring Boot 是一个基于 Java 的框架,它提供了许多实用的功能,包括定时任务。在 Spring Boot 中实现定时任务非常简单,只需要使用两个注解:`@...
这些邮箱账户具有有限的生命周期,一旦创建,用户可以立即使用它们接收邮件。当设定的时间期限到达或者达到特定条件(如邮件数量上限),这些邮箱账户会自动失效,不再接收新邮件。 二、用途 1. **保护隐私**:在...
本文将详细讲解如何使用C#来接收邮件,主要关注POP3协议,因为这是最常见的邮件接收方式之一。 POP3(Post Office Protocol version 3)是一种简单但功能强大的协议,用于从邮件服务器下载电子邮件。在C#中,我们...
C# 使用 MailKit 接收邮件 MailKit 是一个开源的 C# 邮件处理库,用于在应用程序中发送和接收电子邮件。它提供了一个强大且易于使用的 API,支持多种邮件协议,包括 SMTP、POP3、和 IMAP。 MailKit 是一个开源的 ...
本篇文章将深入探讨如何使用C#通过POP3协议来接收电子邮件,以实现从163、QQ等主流邮箱服务接收邮件的功能。首先,我们要明白POP3(Post Office Protocol version 3)是一种标准的邮件接收协议,它允许用户从邮件...
《Delphi邮件大拼盘之接收邮件》 本教程详细介绍了如何使用Delphi编程环境,通过集成的*12343-控件实现邮件的接收功能。这个程序设计简单直观,用户只需输入主机、端口、用户名和密码,就可以进行邮件的连接、列举...
在本文中,我们将深入探讨如何使用Qt库中的POP3功能来实现自动登录邮箱、接收邮件以及下载附件。Qt是一个跨平台的应用程序开发框架,广泛应用于C++编程,它提供了丰富的功能,包括网络通信模块,使得我们可以方便地...
本篇文章将详细探讨如何通过编程方式实现接收邮件服务器上的邮件,包括附件信息。 首先,我们需要了解电子邮件系统的基本工作原理。邮件服务器通常遵循SMTP(Simple Mail Transfer Protocol)用于发送邮件,而IMAP...
首先,JavaMail API是一个开源的Java库,它允许开发人员编写能够发送和接收邮件的应用程序。然而,JavaMail API并不直接支持Exchange服务器,因此在与Exchange服务器交互时,我们需要借助EWS Java API。微软官方提供...
在VC++编程环境中,利用JMail库来接收邮件是一个常见的任务。JMail是一个功能丰富的电子邮件组件,它提供了在各种编程语言中发送和接收邮件的能力,包括VC++。本篇文章将详细探讨如何在VC++中使用JMail来实现邮件的...
本篇文章将深入探讨如何使用C#通过POP协议接收邮件。 POP(Post Office Protocol)是一种用于从邮件服务器检索电子邮件的协议。它允许用户下载邮件到本地设备,并且通常在下载后删除服务器上的邮件。C#中的System...
在给定的标题和描述中,我们讨论的是如何使用JavaMail API来接收邮件。 首先,我们需要了解JavaMail的核心类`MimeMessage`,它是邮件消息的容器,可以存储邮件的所有信息,包括发件人、收件人、主题、正文以及附件...
SMTP用于发送邮件,而IMAP或POP3(Post Office Protocol version 3)用于接收邮件。程序员会编写脚本或应用程序,通过这些协议与邮件服务器进行交互,实现定时发送或实时响应触发的邮件发送。 自动接收邮件则涉及到...
3. **接收邮件** - **连接邮箱**:使用 `Folder` 类的 `open()` 方法连接到邮件服务器上的邮箱,如 "INBOX"。 - **获取邮件**:调用 `Folder` 的 `getMessages()` 或 `fetch()` 方法获取邮箱中的所有邮件。 - **...
本文将深入解析Lumisoft.Net提供的邮件功能,并通过代码示例展示如何利用该组件发送和接收邮件。 一、Lumisoft.Net简介 Lumisoft.Net是一个.NET Framework下的组件库,它提供了丰富的API接口,支持多种网络协议,如...
邮件服务器通常遵循特定的协议,如SMTP(Simple Mail Transfer Protocol)用于发送邮件,POP3(Post Office Protocol version 3)或IMAP4(Internet Message Access Protocol version 4)用于接收邮件。 1. SMTP:...
2. **接收邮件(POP3)**: - 同样,我们先建立一个连接到POP3服务器的会话。可能需要支持APOP(授权协议)或USER/PASS命令来进行身份验证。 - 使用LIST命令获取邮件数量和大小信息,以便预处理。 - 使用RETR命令...
4. **接收邮件的步骤** - 创建`Store`对象,通过`Session`对象连接到邮件服务器,指定IMAP或POP3协议。 - 打开`Folder`,通常是`INBOX`,获取未读或所有邮件。 - 遍历`Folder`中的`Message`对象,读取邮件的各个...