从Yahoo,Gmail和Hotmail下载已发送的邮件

时间:2010-01-04 18:27:59

标签: java android

我正在进行Android申请,我想从某个电子邮件帐户收到最后25封邮件。

对于Gmail,我可以使用http://g4j.sourceforge.net/,并在http://developer.yahoo.com/mail/为Yahoo提供Mail Web Service API。

但我找不到用Hotmail做的事情。

你知道是否可能吗?

此外,我担心有这么多依赖项。我不知道我是否应该做https://sourceforge.net/projects/mrpostman/之类的事情而做web scraping

4 个答案:

答案 0 :(得分:9)

使用不同的电子邮件提供商时,您可以通过各种方式下载(或上传)电子邮件。我与以下提供商的经验是:

  1. 雅虎:

    • POP3:仅适用于Plus用户(付费服务)。没有收到新邮件,没有文件夹访问权限,没有发送邮件;只需获取所有收件箱(或所有电子邮件UID)。 更新:雅虎为 Yahoo Asia 用户提供free POP access and forwarding
    • 邮件Web服务API:仅列出免费用户的电子邮件标题,但包括完整访问权限,包括从已发送文件夹中获取邮件,用于Plus用户(再次付费服务)。当然,如果您可以鼓励(强制)用户购买Plus服务,如果您之前没有被雅虎律师起诉,那么您是paid a commission by Yahoo,因为Web Service documentation中说明:“您可能不会使用Yahoo! Mail Web Service API在第三方电子邮件客户端中显示用户的Yahoo!帐户信息“。
    • Web Scraping:它似乎是雅虎免费用户唯一可用的解决方案,但要注意雅虎更改其网页时可能出现的兼容性问题。此外,请确保延迟链接访问,因为Yahoo在其服务器上具有Web抓取检测机制。
  2. 的GMail:

    • IMAPv4:适用于所有用户。确保使用此协议访问GMail中的几乎所有内容。它完全实现;您可以访问所有传入和发送的邮件,甚至通过将其保存在已发送的文件夹中来发送电子邮件。您可以使用JavaMail或Java中的任何其他IMAP客户端库(例如Ristretto API)来执行此操作。在开始将其用于任何协议之前,请确保了解JavaMail限制。它在所有协议(SMTP / POP3 / IMAP)中都有许多限制(和小错误)。
    • POP3:适用于所有GMail用户但不推荐使用,因为POP3固有限制(没有文件夹,没有收到新消息)。
  3. 的Hotmail:

    • POP3:适用于所有用户,但POP3固有限制(没有文件夹,没有发送邮件,没有收到新邮件)以及POP3访问所需的15分钟延迟的Hotmail限制。
    • Web Scraping:它似乎是访问已发送邮件的唯一解决方案,但再次了解Microsoft更改可能存在的Hotmail网页和Web抓取检测软件时可能出现的兼容性问题。
  4. 一般IMAPv4提供商:

    • 通常,并非所有IMAP提供程序都支持已发送的文件夹,因为它不是标准的IMAP文件夹,但大多数都是这样做的。有关此选项,请查看提供商的帮助或常见问题解答。
  5. Genral POP3提供商:

    • 不要指望POP3这样做是因为当从收件箱中取出2封新电子邮件时,POP3会尽量不让客户端和服务器崩溃; - )
  6. 同时,不要忘记Web Scraping存在法律问题,并且在大多数网站中都被禁止。

答案 1 :(得分:1)

在我们公司的webapp中,我们使用JavaMail通过Gmail帐户发送邮件(非常易于使用且功能强大的API)。在JavaMail第三方产品page上,我找到了项目JDAVMail。它为基于WebDAV的协议服务提供访问方法。也许这对你有用。

而且,对于Android:javamail-android

答案 2 :(得分:0)

为什么不使用内置的电子邮件功能或标准访问方法而不是IMAP?我想为每个提供商使用单独的lib在实践中不会很好。

答案 3 :(得分:-1)

Google将其Mail应用程序作为开源。

https://android.googlesource.com/platform/packages/apps/Email

您可以自己使用一些源代码。