movemind
@movemind
Аналитик из Кнопки

Как настроить интеграцию c email (выгрузка и загрузка данных) на Java?

Всем привет!

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

Всё хорошо, но чтобы ответить на сообщение, клиент вынужнен заходить на наш сайт, логинится и отвечать. А это не очень удобно.

Клиенты хотят писать в чат через почту
Нужно настроить интеграцию с почтовым сервером таким образом, чтобы клиент мог просто ответить через почту на сообщение и его сообщение автоматически попало в чат.

А также дать возможность создавать новые сообщения через почту — просто отправить email на специальный адрес и как только письмо придёт к нам на сервер, оно автоматически должно попасть в чат клиента.

Такая интеграция есть у Basecamp. А у Evernote есть возможность создавать новые заметки через почту — отправляешь письмо на специальный адрес и Evernote создает заметку в твоём блокноте.

Хочется спросить, может кто-нибудь знает готовые решения для такой задачи на Java?

Требования:
1. Чтобы почтовый сервер как только получал письмо вызывал метод нашего веб-сервиса и передавал бы всю информацию из письма (тему, текст, вложение).
2. Как только в чате создается новое сообщение, мы передаём данные в почтовый сервер, на котором создается алиас почтового ящика (в котором зашифрован id сообщения) и с него отправляется письмо клиенту. Алиас почтового ящика нужен для того, чтобы как только клиент ответит на этот ящик мы могли его ответ связать с нужной перепиской.

Спасибо!
  • Вопрос задан
  • 2569 просмотров
Пригласить эксперта
Ответы на вопрос 2
@gurinderu
java developer
Встройте в вебсервер javax.mail и забирайте нужные вам письма. Тут самая сложность в роутинге нужному человеку в чат.
Ответ написан
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Ну, первое, нужен простой почтовик типа exim/postfix.
1) На приход писем:
В почтовике делаем алиас на pipe, который запускает программу и передает ей полный текст сообщения. Алиас естественно принадлежит ящику-получателю.
В экзиме это делается так
www.exim.org/exim-html-current/doc/html/spec_html/...
Программа считывает письмо или со стандартного ввода/вывода или берет из файла, здесь как настроишь. Программа может быть написана и на яве, которая коннектится к приложению и пушит туда почту!

2) На отправку писем из приложения - используем jakarta.commons.email, просто удобно и доступно - commons.apache.org/proper/commons-email/userguide.html

PS. И да, в почтовике можно сделать редирект на пайп хоть по части адреса mycoollist-XXXXX, хоть по телу письма или заголовка "[thread-d-XXXXXXX]", как почтовик настроите, так и будет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы