Загрузка отправленных писем из Yahoo, Gmail и Hotmail - PullRequest
7 голосов
/ 04 января 2010

Я делаю приложение Android и хочу получить последние 25 отправленных писем с определенной учетной записи электронной почты.

Для Gmail я мог бы использовать http://g4j.sourceforge.net/, и есть API веб-службы почты для Yahoo на http://developer.yahoo.com/mail/.

Но я не мог найти что-то, чтобы сделать это с Hotmail.

Знаете ли вы, если это возможно?

Также я беспокоюсь о том, чтобы у меня было так много зависимостей. Я не знаю, должен ли я сделать что-то вроде https://sourceforge.net/projects/mrpostman/ и сделать просмотр веб-страниц .

Ответы [ 4 ]

9 голосов
/ 17 января 2010

Вы можете загружать (или, возможно, загружать) электронные письма различными способами при использовании разных поставщиков электронной почты. Мой опыт работы со следующими провайдерами:

  1. Yahoo:

    • POP3: доступно только для пользователей Plus (платная услуга). Не получать новые сообщения, нет доступа к папкам, нет отправленной почты; просто получить все входящие (или все почтовые идентификаторы). ОБНОВЛЕНИЕ : Yahoo предоставляет бесплатный доступ по POP и переадресацию для пользователей Yahoo Asia .
    • API почтовой веб-службы: только перечисление заголовков электронной почты для пользователей Free, но полный доступ, включая получение почты из отправленной папки, для пользователей Plus (снова платная услуга). Разумеется, Yahoo платит вам комиссию, если вы можете поощрять (заставлять) пользователей покупать услугу «Плюс», если юристы Yahoo не предъявляли вам иск, поскольку это указано в веб-службе . документация о том, что: «Вы не можете использовать API почтовой веб-службы Yahoo! для отображения информации учетной записи Yahoo! пользователя в стороннем почтовом клиенте».
    • Web Scraping: Кажется, это единственное доступное решение для бесплатных пользователей Yahoo, но имейте в виду проблемы совместимости, которые могут возникнуть, когда Yahoo меняет свои веб-страницы. Также не забудьте задержать доступ к ссылкам, потому что у Yahoo есть механизм обнаружения веб-скребков на своих серверах.
  2. GMail:

    • IMAPv4: доступно для всех пользователей. Обязательно используйте этот протокол для доступа почти ко всему в GMail. Это реализовано полностью; Вы можете получить доступ ко всем входящим и отправленным письмам и даже отправлять электронные письма, сохранив их в отправленной папке. Для этого вы можете использовать JavaMail или любую другую клиентскую библиотеку IMAP в Java, такую ​​как Ristretto API. Убедитесь, что вы знаете ограничения JavaMail, прежде чем начать использовать его для любого протокола. Он имеет много ограничений (и незначительных ошибок) во всех протоколах (SMTP / POP3 / IMAP).
    • POP3: Доступно для всех пользователей GMail, но не рекомендуется из-за внутренних ограничений POP3 (нет папки, нет новых сообщений).
  3. Hotmail:

    • POP3: Доступно для всех пользователей, но опять же ограничения, присущие POP3 (без папки, без отправленной почты, без получения новых сообщений), в дополнение к ограничению Hotmail, называемому 15-минутной задержкой, необходимой для доступа по POP3.
    • Web Scraping: кажется, что это единственное решение для доступа к отправленной почте, но, опять же, имейте в виду проблемы совместимости, которые могут возникнуть при изменении Microsoft веб-страниц Hotmail и программного обеспечения для обнаружения соскребов в Интернете.
  4. Общий поставщик IMAPv4:

    • В общем, не все провайдеры IMAP поддерживают отправленную папку, потому что это не стандартная папка IMAP, но большинство из них делают это. Посмотрите справку провайдера или FAQ для этой опции.
  5. Общий POP3-провайдер:

    • Не ожидайте, что POP3 сделает это, потому что POP3 делает все возможное, чтобы не аварийно завершить работу клиента и сервера при получении 2 новых писем из входящих сообщений; -)

Между тем, не забывайте, что веб-очистка имеет юридические проблемы и запрещена на большинстве веб-сайтов.

1 голос
/ 15 января 2010

В веб-приложении нашей компании мы используем JavaMail для отправки почты через учетную запись gmail (очень простой в использовании и мощный API). На стороннем продукте JavaMail страница Я нашел проект JDAVMail . Он предоставляет метод доступа к службам протоколов на основе WebDAV. Может быть, это будет полезно для вас.

А для Android: javamail-android

0 голосов
/ 17 января 2010

У Google есть приложение Mail с открытым исходным кодом.

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

Возможно, вы сможете использовать часть исходного кода самостоятельно.

0 голосов
/ 04 января 2010

Почему бы вам просто не использовать встроенные средства электронной почты или стандартные методы доступа через IMAP? Я предполагаю, что использование отдельной библиотеки для каждого провайдера не будет хорошо работать на практике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...