Задание Cron для проверки всех папок почтового ящика для каждого пользователя, хранящегося в базе данных mysql.

Я использую javamail для чтения почтового ящика. Теперь мне нужно опросить почтовый ящик и проверить наличие новых полученных и отправленных писем, сохраненных черновиков и т. д. Каков хороший способ сделать это примерно так, как это делает push mail? На данный момент я использую imap и gmail, но мне придется расширить поддержку pop3 и других распространенных учетных записей электронной почты. Поэтому мне было интересно, что использовать и как сделать так, чтобы это подходило в большинстве случаев. Есть ли в javamail какая-либо поддержка запланированных заданий, которая немедленно срабатывает при любой активности в почтовом ящике и читает ее, или любой готовый доступный скрипт, который ищет все папки почтового ящика для каждого пользователя в базе данных и немедленно запускает код Java для чтения почты пользователя для любого нового электронного письма через регулярные промежутки времени


person user850234    schedule 22.01.2013    source источник


Ответы (1)


Планирование задания полностью ортогонально JavaMail. Вы можете найти множество решений для планирования заданий в Java; выберите тот, который вам нравится, а затем напишите задание, использующее JavaMail.

Проверка «новой» активности, описанной вами, нетривиальна. Вам нужно будет отслеживать состояние почтовых ящиков для каждого пользователя, чтобы вы могли видеть, что изменилось, когда в следующий раз заглянете в почтовый ящик.

И, конечно же, выполнение этого для нескольких пользователей означает, что вам потребуются учетные данные для аутентификации (например, пароли) для всех этих пользователей.

Сделать все это с помощью pop3 практически невозможно, поскольку у вас есть доступ только к папке «Входящие» пользователя.

person Bill Shannon    schedule 22.01.2013