java代码:
public List<Email> receiveMail(Email email,FolderType type) throws MessagingException, IOException{
connect("imap");
folder = store.getFolder("inbox");
folder.open(Folder.READ_ONLY);
Message[] msgs = folder.getMessages();
for(Message msg : msgs){
System.out.println(msg.getContent());
}
return null;
}
配置:
mail.store.protocol=imap
mail.host=imap.sohu.com
mail.imap.auth = true
DEBUG: setDebug: JavaMail version 1.4.4
DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc]
DEBUG: mail.imap.fetchsize: 16384
DEBUG: mail.imap.statuscachetimeout: 1000
DEBUG: mail.imap.appendbuffersize: -1
DEBUG: mail.imap.minidletime: 10
DEBUG: protocolConnect returning false, host=imap.sohu.com, user=HUYING, password=<null>
DEBUG: trying to connect to host "imap.sohu.com", port 143, isSSL false
* OK IMAP4 ready
A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 UIDPLUS IDLE AUTH=PLAIN STARTTLS
A0 OK completed
DEBUG IMAP: AUTH: PLAIN
DEBUG: protocolConnect login, host=imap.sohu.com, user=hy915@sohu.com, password=<non-null>
A1 AUTHENTICATE PLAIN
+
AGh5OTE1QHNvaHUuY29tAGFpeGluMTU4Njc4MDE0ODA=
A1 OK LOGIN succeeded
A2 CAPABILITY
* CAPABILITY IMAP4rev1 IDLE
A2 OK CAPABILITY completed
DEBUG: connection available -- size: 1
A3 EXAMINE INBOX
* 8 EXISTS
* 0 RECENT
* FLAGS (\answered \seen \flagged \deleted \draft \recent)
* OK [UIDVALIDITY 1]
A3 OK [READ-ONLY] EXAMINE successful
A4 FETCH 1 (BODYSTRUCTURE)
* 1 FETCH (BODYSTRUCTURE ((("text" "plain" ("charset" "gbk") NIL NIL "base64" 13 1) ("text" "html" ("charset" "gbk") NIL NIL "base64" 90 2) "alternative") ("image" "jpeg" ("name" "52332084@2193DD6A.484D264E.jpg") "<52332084@2193DD6A.484D264E.jpg>" NIL "base64" 484331) "related" ("type" "multipart/alternative" "boundary" "----=_NextPart_4E264D48_DF3CF948_6ADD9321") ("inline" NIL) NIL))
A4 OK FETCH completed
javax.mail.internet.MimeMultipart@1ff5ea7
A5 FETCH 2 (BODYSTRUCTURE)
* 2 FETCH (BODYSTRUCTURE (("text" "plain" ("charset" "gbk") NIL NIL "base64" 337 5) ("text" "html" ("charset" "gbk") NIL NIL "base64" 1144 16) "alternative" ("boundary" "----=_NextPart_4E268F00_086C0490_1C0AD190") ("inline" NIL) NIL))
A5 OK FETCH completed
javax.mail.internet.MimeMultipart@9f2a0b
A6 FETCH 3 (BODYSTRUCTURE)
* 3 FETCH (BODYSTRUCTURE ((("text" "plain" ("charset" "gb2312") NIL NIL "base64" 272 4) ("text" "html" ("charset" "gb2312") NIL NIL "base64" 4296 56) "alternative") ("image" "jpeg" ("name" "01.jpg") "<__0@Foxmail.net>" NIL "base64" 483982) "related" ("boundary" "=====002_Dragon633484364877_=====" "type" "multipart/alternative") ("inline" NIL) NIL))
A6 OK FETCH completed
javax.mail.internet.MimeMultipart@1813fac
A7 FETCH 4 (BODYSTRUCTURE)
* 4 FETCH (BODYSTRUCTURE ((("text" "plain" ("charset" "gbk") NIL NIL "base64" 268 4) ("text" "html" ("charset" "gbk") NIL NIL "base64" 1371 19) "alternative") ("image" "jpeg" ("name" "1D89C612@E9B0AA0D.F214294E.jpg") "<1D89C612@E9B0AA0D.F214294E.jpg>" NIL "base64" 81201) "related" ("type" "multipart/alternative" "boundary" "----=_NextPart_4E2914F2_0855F2C0_0DAAB0E9") ("inline" NIL) NIL))
A7 OK FETCH completed
javax.mail.internet.MimeMultipart@7b7072
A8 FETCH 5 (BODYSTRUCTURE)
* 5 FETCH (BODYSTRUCTURE ("text" "plain" ("charset" "UTF-8") NIL NIL "base64" 1495 1 NIL ("inline" NIL) NIL))
A8 OK FETCH completed
A9 FETCH 5 (BODY[TEXT]<0.1495>)
* 5 FETCH (BODY[TEXT]<0.1495> {17}
5Y+R55Sf5aSn5bmF
)
A9 OK FETCH completed
DEBUG IMAP: IMAPProtocol noop
A10 NOOP
Exception in thread "main" java.io.IOException: No content
at com.sun.mail.imap.IMAPInputStream.fill(IMAPInputStream.java:159)
A10 OK NOOP No operation performed
at com.sun.mail.imap.IMAPInputStream.read(IMAPInputStream.java:208)
at com.sun.mail.imap.IMAPInputStream.read(IMAPInputStream.java:234)
at com.sun.mail.util.BASE64DecoderStream.getByte(BASE64DecoderStream.java:358)
at com.sun.mail.util.BASE64DecoderStream.decode(BASE64DecoderStream.java:249)
at com.sun.mail.util.BASE64DecoderStream.read(BASE64DecoderStream.java:144)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158)
at java.io.InputStreamReader.read(InputStreamReader.java:167)
at com.sun.mail.handlers.text_plain.getContent(text_plain.java:125)
at javax.activation.DataSourceDataContentHandler.getContent(DataHandler.java:775)
at javax.activation.DataHandler.getContent(DataHandler.java:522)
at javax.mail.internet.MimeMessage.getContent(MimeMessage.java:1419)
at com.tengzhi.mail.MailUtil.receiveMail(MailUtil.java:131)
at com.tengzhi.mail.MailUtil.main(MailUtil.java:188)
分享到:
相关推荐
在JavaMail中使用IMAP协议来收取Exchange 2007中的邮件,首先需要理解以下几个关键概念: 1. **JavaMail API**: JavaMail API提供了一系列的类和接口,如`Session`、`Store`、`Folder`和`Message`,它们是处理邮件...
在IT领域,尤其是在电子邮件开发中,使用IMAP(Internet Message Access Protocol)协议是常见的方法,它允许客户端应用程序从邮件服务器上检索邮件。本教程将详细讲解如何使用C#语言结合MailKit库来实现IMAP协议...
本项目标题"delphi2010版本IMAP协议下载邮件,能自动获取大附件下载地址"揭示了其核心功能:使用Delphi 2010来编写一个程序,该程序能够通过IMAP协议与邮件服务器交互,不仅下载邮件,还能自动识别并获取大附件的...
总之,使用 Java 和 SMTP 协议实现邮件收发是一个多步骤的过程,涉及到配置 SMTP 服务器、创建和设置邮件对象、以及发送和接收操作。记得根据实际的邮箱服务商进行适配,以确保代码的兼容性和有效性。
全功能java收取邮件程序,包括收取附件,含有main方法可以测试,pop3协议和imap协议都支持 Properties props = new Properties(); Session session = Session.getDefaultInstance(props, null); Store ...
以上就是使用JavaMail和IMAP协议在Java中接收并解析电子邮件的基本步骤。通过深入学习和理解这些概念,你可以构建更复杂的邮件处理系统,比如实现邮件过滤、自动回复、邮件归档等功能。同时,还可以探索其他邮件协议...
IMAP(Internet Message Access Protocol)邮件接收是一种标准的电子邮件协议,允许用户在邮件服务器上管理邮件。相较于POP3,IMAP提供了更多的功能,比如离线阅读、邮件分类、标记和搜索等。它允许用户在不下载全部...
下面将详细解释如何使用Java实现这一功能,并结合实例46来阐述关键步骤。 首先,我们需要引入JavaMail API库,它提供了处理电子邮件的相关功能。这个库包括了javax.mail和javax.mail.internet这两个主要的包。可以...
要使用 Java Mail 发送邮件,需要首先创建一个 Mail 对象,然后设置邮件的主题、收件人、抄送人、密送人等信息。下面是一个简单的示例代码: ```java public class Mail { public static void main(String[] args)...
本篇将详细介绍如何使用Java来查询OutLook邮件。 首先,我们需要理解的是,Outlook邮件主要存储在Microsoft Exchange Server或者使用IMAP/POP3协议访问的邮箱中。Java通过JavaMail API与这些服务器进行通信。...
在这个"Java-mail.zip"压缩包中,包含了一个用Java实现的邮件收发系统,该系统允许用户绑定自己的邮箱账户,查看收件箱,发送邮件,并对邮箱进行各种操作。 JavaMail API 包含了多个关键组件,如`javax.mail`和`...
下面我们将详细探讨如何使用JavaMail API实现邮件的收取,特别是如何通过POP3和IMAP协议获取邮件信息。 首先,确保你的项目中已经引入了JavaMail相关的依赖,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖...
这个压缩包文件很可能包含了一组示例代码或工具,帮助我们理解如何使用Java Mail API来实现邮件功能。 在Java中,发送邮件主要依赖于JavaMail API和Java Activation Framework (JAF)。JavaMail API负责邮件的创建、...
IMAP(Internet Message Access Protocol)协议是一种用于管理存储在邮件服务器上的电子邮件的协议,与POP3(Post Office Protocol version 3)相比,它提供了一种更高效、更灵活的方式来访问和管理邮件。IMAP的主要...
接收邮件时,我们通常使用 IMAP 协议,因为它支持离线模式,并且可以管理邮箱中的邮件状态,比如未读或已读。创建 `Store` 对象后,通过 `getStore("imap")` 连接到邮件服务器,然后打开指定的邮箱 folder,例如 `...
在实际开发中,使用Java Mail API时,我们需要首先添加对应的jar包到项目的类路径中,然后创建 `Session` 实例,配置邮件服务器的相关参数,最后通过 `Transport` 或 `Store` 对象进行邮件的发送和接收操作。...
2. 接收服务器:收件人的邮件服务器通常使用POP3或IMAP协议来处理来自发送服务器的邮件。用户可以通过配置的邮箱客户端(如Outlook或Thunderbird)或Webmail服务(如Gmail、Yahoo! Mail)连接到这个服务器,以下载或...
Python的IMAP接收邮件程序
Simple Mail Transfer Protocol(简单邮件传输协议)是用于发送电子邮件的标准协议。JavaMail API 使用SMTP与邮件服务器通信,发送邮件时需要指定SMTP服务器的相关配置。 4. **POP3/IMAP 协议**: Post Office ...
Lumisoft是一家专注于提供网络通信解决方案的公司,他们的产品中包含了POP3和IMAP这两种常用的邮件接收协议。本文将深入探讨Lumisoft如何利用这两种协议帮助用户有效地接收邮件。 POP3(Post Office Protocol ...