2010-01-04 4 views
7

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

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

Но я не мог найти что-то с Hotmail.

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

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

ответ

9

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

  1. Yahoo:

    • POP3: Доступно только для пользователей Plus (платная услуга). Нет получать новые сообщения, нет доступа к папке, нет отправленной почты; просто введите все почтовые ящики (или все UID-адреса электронной почты). ОБНОВЛЕНИЕ: Yahoo предоставляет free POP access and forwarding для Yahoo Asia пользователей.
    • API почтовых веб-сервисов: только список заголовков электронной почты для бесплатных пользователей, но полный доступ, включая получение почты из отправленной папки, для пользователей Plus (платная услуга снова). Конечно, вы находитесь в paid a commission by Yahoo, если вы можете поощрять (принудительно) пользователей покупать услугу «Плюс», если вам не предъявили иск до этого юристам Yahoo, поскольку в сообщении Web Service documentation указано, что: «Вы не можете использовать API Yahoo! Mail Web Service для отображения информации учетной записи пользователя Yahoo! в стороннем почтовом клиенте ».
    • Веб-скребок: это единственное доступное решение для бесплатных пользователей 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.
    • Веб-скребок: это единственное решение для доступа к отправленной почте, но опять же известно о проблемах совместимости, которые могут возникнуть, когда Microsoft изменяет веб-страницы Hotmail и программное обеспечение для обнаружения веб-скрепок, которое может существовать.
  4. Общие IMAPv4 Поставщик:

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

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

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

+0

Спасибо за информацию. Это на самом деле резюме того, что я исследовал, но это не отвечает на вопрос о том, как получать письма в отправляемой папке этих трех провайдеров. – Macarse

+0

Чтобы быть достаточно прямыми: используйте веб-скребок для Yahoo и Hotmail (используйте MrPostman, если он все еще работает) и работайте с IMAP с помощью JavaMail (или Ristre tto API) для GMail :) –

+0

Или, может быть: вы не можете сделать это правильно, кроме GMail, где вы можете использовать IMAP. – svens

0

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

+0

Вы уверены, что я могу получить доступ к отправленным элементам на каждом провайдере, используя IMAP? – Macarse

+0

Нет, это вам поможет! ;) Но использование стандартизованных протоколов - это, конечно же, путь, а не использование некоторой потенциально уязвимой библиотеки для каждого провайдера. –

+0

На самом деле только gmail предлагает доступ к IMAP, поэтому это не сработает :( – Macarse

1

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

И для Android: javamail-android

+0

Спасибо, но JDAVMail решит только hotmail. – Macarse

Смежные вопросы