java

位置:IT落伍者 >> java >> 浏览文章

JavaMail常见问题之POP3问题


发布日期:2018年07月10日
 
JavaMail常见问题之POP3问题

我可以从哪里找到 POP 的支持?

在 JavaMail 及以上版本中包括了 POP 提供程序POP 提供程序也可从多个第三方提供商获得请浏览我们的 第三方产品清单获取进一步信息

我想在 POP 服务器上删除消息我在这些消息上设置了 DELETED 标志然后调用 expunge() 方法但我得到了MethodNotSupportedException当使用 Sun 的 POP 提供程序时我如何删除消息?

POP 提供程序不支持 expunge() 方法不过可以关闭 expunge 标志设为 true 的文件夹也就是调用 folderclose(true)

在从 Sun POP 提供程序获得的消息中我如何可以检索 POP UIDL?

对于 POP 提供程序这是可能的参见 comsunmailpop 包文档获取进一步信息

对于 POP我如何知道哪里消息是新的?

POP 协议不提供任何永久标志的支持因此 RECENT 标志是没有用的comsunmailpop 包文档讨论了几个策略它们可用于处理这一问题

当使用 POP为什么 hasNewMessages() 总是返回 false?

POP 协议没有提供办法来决定文件夹是否有新消息

我创建了 MessageCountListener(如 monitor 程序中所展示的)但在我的 POP INBOX(收件箱)中我从未得到通知

当 INBOX 打开时POP 协议不允许客户端查看传送到 INBOX 的新消息应用程序必须关闭 INBOX然后重新打开它 才可以查看新消息对于 POP使用 MessageCountListener 接口你从不会得到新邮件的通知参见 comsunmailpop 包文档(在 JavaMail 下载包的 docs/sundocs 目录)获取进一步信息

当使用 POP为什么 getReceivedDate() 返回 null?

POP 协议不提供有关何时接收消息的信息通过查看一些消息标题比如 Received 标题可能可以猜到接收日期但这非常不可靠

当使用 POP我得到了有关 SocketFetcher 类的抱怨

很有可能在 CLASSPATH 中有多个版本的 popjar 或 mailjar检查 CLASSPATH 的设置如果你正在使用 JDK 或更新版本检查 JDK 中的 jre/lib/ext 目录确保你只有 JavaMail mailjar 可用并且没有 popjar只有对于较老版本的 JavaMailpopjar 才是必要的

当使用 POP我得到了有关 contentStream 字段的抱怨

错误通常像下面这样

javalangNoSuchFieldError: contentStream at

comsunmailpopPOPMessagegetContentStream(POPMessagejava:)

像 上面 一样使用混合版本的 POP 提供程序和 mailjar在包括 POP 提供程序的较新版本 mailjar 之前你可能在 CLASSPATH中有了较老版本

除了 POP 服务器上的 INBOX(收件箱)外您如何访问或创建文件夹?

不能POP 服务器只支持每个用户一个邮箱大多数使用 POP 的邮件阅读者也维护着本地消息存储他们可以将传入的消息(来自 POP INBOX)复制到存储中并允许你将消息写到其他文件夹参见 本项目获取有关本地存储提供程序的进一步消息

上一篇:Java变量的自动递增和递减

下一篇:Java集合的缺点:类型未知