Я использую javamail
для чтения почтового ящика. Теперь мне нужно опросить почтовый ящик и проверить наличие новых полученных и отправленных писем, сохраненных черновиков и т. д. Каков хороший способ сделать это примерно так, как это делает push mail
? На данный момент я использую imap
и gmail
, но мне придется расширить поддержку pop3
и других распространенных учетных записей электронной почты. Поэтому мне было интересно, что использовать и как сделать так, чтобы это подходило в большинстве случаев. Есть ли в javamail
какая-либо поддержка запланированных заданий, которая немедленно срабатывает при любой активности в почтовом ящике и читает ее, или любой готовый доступный скрипт, который ищет все папки почтового ящика для каждого пользователя в базе данных и немедленно запускает код Java для чтения почты пользователя для любого нового электронного письма через регулярные промежутки времени
Задание Cron для проверки всех папок почтового ящика для каждого пользователя, хранящегося в базе данных mysql.
Ответы (1)
Планирование задания полностью ортогонально JavaMail. Вы можете найти множество решений для планирования заданий в Java; выберите тот, который вам нравится, а затем напишите задание, использующее JavaMail.
Проверка «новой» активности, описанной вами, нетривиальна. Вам нужно будет отслеживать состояние почтовых ящиков для каждого пользователя, чтобы вы могли видеть, что изменилось, когда в следующий раз заглянете в почтовый ящик.
И, конечно же, выполнение этого для нескольких пользователей означает, что вам потребуются учетные данные для аутентификации (например, пароли) для всех этих пользователей.
Сделать все это с помощью pop3 практически невозможно, поскольку у вас есть доступ только к папке «Входящие» пользователя.
person
Bill Shannon
schedule
22.01.2013