Библиотека Javamail, отслеживание определенных писем - PullRequest
0 голосов
/ 07 февраля 2012

Я занимаюсь разработкой приложения на Java, которое читает все электронные письма из GMAIL и сохраняет их во время выполнения на объектах собственного класса, которые содержат некоторые атрибуты электронной почты.Теперь я хочу удалить объект электронной почты, и когда я это сделаю, я хочу, чтобы он также был удален из Интернета.Для этого мне понадобится некоторая информация, чтобы запросить учетную запись GMAIL, чтобы удалить конкретное письмо, на которое я ссылаюсь.Есть ли способ сделать это?Может быть, сохраняя заголовок и затем ища это?Я не мог найти хороший способ сделать это.

Ответы [ 3 ]

2 голосов
/ 07 февраля 2012

Я предполагаю, что вы получаете доступ к GMAIL через IMAP.Затем вы можете сохранить сообщение, вызвать Message.setFlag (Flag.DELETED) , затем удалить папку или выполнить поиск в папке самостоятельно.Или, может быть, вы можете найти Google Gmail API и найти лучший способ.Например, вы можете использовать уникальный идентификатор сообщения

ОБНОВЛЕНИЕ Это проект Google, который может помочь вам: java-gmail-imap .Существует также сопутствующий проект для аутентификации OAuth (необходим для запуска примера)

0 голосов
/ 07 февраля 2012

Это зависит от промежутка времени между тем, когда вы получаете доступ к сообщению и когда вы хотите удалить его. Если оно короткое, а папка все еще открыта, вы можете просто установить флаг DELETED и закрыть папку, чтобы удалить сообщение.

Но я предполагаю, что вам нужно найти сообщение через некоторое время. В этом случае вы должны узнать об UID IMAP. Подробности см. В интерфейсе UIDFolder в JavaMail и в спецификации IMAP . По сути, вам необходимо отслеживать значение UIDVALIDITY папки и значение UID сообщения. Когда вы вернетесь к папке, вы можете убедиться, что это та же папка, проверив значение UIDVALIDITY, а затем найдите сообщение на основе его UID.

0 голосов
/ 07 февраля 2012

Я бы рекомендовал вам взглянуть на Джеймс .

Проект Apache James предоставляет богатый набор модулей и библиотек с открытым исходным кодом, написанных на Java, связанных с обменом почтой через Интернет, которые встроены в усовершенствованный корпоративный почтовый сервер.

...