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

我正在做一个Android应用程序,我想从一个特定的电子邮件帐户获得最后发送的25封邮件。

对于Gmail,我可能使用http://g4j.sourceforge.net/ ,在http://developer.yahoo.com/mail/上有用于Yahoo的Mail Web Service API。

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

你知道这有可能吗?

我也担心有这么多的依赖。 我不知道我是否应该做一些像https://sourceforge.net/projects/mrpostman/和做网页抓取 。

Solutions Collecting From Web of "从Yahoo,Gmail和Hotmail下载已发送的邮件"

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

  1. 雅虎:

    • POP3:仅适用于Plus用户(付费服务)。 没有得到新消息,没有文件夹访问,没有发送邮件; 只需获取所有收件箱(或所有电子邮件UID)。 更新 :雅虎为雅虎亚洲用户提供免费POP访问和转发 。
    • 邮件Web服务API:只为免费用户列出电子邮件标题,但完整访问权限,包括从发送文件夹获取邮件,Plus用户(再次收费服务)。 当然,如果您没有在雅虎律师事务所被起诉,您可以鼓励(强制)用户购买Plus服务,那么您将被雅虎收取佣金,因为在Web服务文档中声明:“您可能不会使用Yahoo! Mail Web Service API在第三方电子邮件客户端中显示用户的Yahoo!帐户信息“。
    • Web Scraping:这似乎是雅虎自由用户唯一可用的解决scheme,但要注意当Yahoo更改其网页时可能出现的兼容性问题。 此外,请确保延迟链接访问,因为雅虎在其服务器上有networking抓取检测机制。
  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:这似乎是访问已发邮件的唯一解决scheme,但同时也要注意Microsoft在更改Hotmail网页和可能存在的Web抓取检测软件时可能出现的兼容性问题。
  4. 一般IMAPv4提供程序:

    • 一般来说,并不是所有的IMAP提供程序都支持发送文件夹,因为它不是标准的IMAP文件夹,但大部分都是这样做的。 看看这个选项的提供者的帮助或常见问题。
  5. Genral POP3提供程序:

    • 不要指望POP3这样做,因为当从收件箱中取得2封新电子邮件时,POP3尽量不让客户端和服务器崩溃;-)

同时,不要忘记,Web Scraping有法律问题,并在大多数网站被禁止。

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

而且,对于Android: javamail-android

为什么不使用内置电子邮件设施或通过IMAP使用标准访问方法? 我想为每个提供者使用单独的lib在实践中将不能很好地工作。

Google的邮件应用程序是开源的。

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

你可能能够自己利用一些源代码。