Как связаться с почтовым сервером через веб-приложение - PullRequest
5 голосов
/ 21 июня 2011

Я действительно незнаком с почтовыми серверами в целом, поэтому прошу прощения за мое невежество.

Мне нужно иметь возможность администрировать почтовый сервер через мое веб-приложение на базе Spring.Под администрированием я имею в виду создание почтовых учетных записей для новых пользователей, прослушивание входящих обновлений от этих пользователей, удаление учетных записей, когда учетные записи пользователей удаляются и т. Д. И т. Д. И т. П.

Я предполагаю, что почтовые серверы (по крайней мере,хорошие) предоставляют своего рода сервисный API (SOAP, REST, это не имеет значения), через который приложение может подключаться и вносить изменения.Тем не менее, я действительно незнаком с тем, какие есть хорошие серверы с открытым исходным кодом, и какие опции они предоставляют.

Я буду рад, если кто-то может предложить решение.

Ответы [ 2 ]

4 голосов
/ 28 июня 2011

Возможное решение - использовать программное обеспечение с универсальным плагином базы данных. Ваше веб-приложение не взаимодействует с почтовым сервером, а просто заполняет таблицу пользователей в базе данных mysql. в простейшем случае эта таблица имеет поле имени пользователя и поле пароля. В большинстве реальных установок требуется несколько дополнительных полей, таких как «пользователь отключен» или «пользователь может соединиться с IMAP», «местоположение пользователей homedir / maildir», ... Если ваши пользователи также могут создавать новые домены, вам также понадобится таблица для этого.

Затем вам необходимо программное обеспечение почтового сервера с базой данных базы данных.

Для размещения почтовых ящиков можно использовать сервер dovecot IMAP / POP3. Он поддерживает все модные вещи, такие как пользовательские квоты, автоматическое создание почтовых ящиков и т. Д. Здесь вы найдете документацию по настройке dovecot с базой данных базы данных: http://wiki2.dovecot.org/AuthDatabase/SQL

Для фактического получения почты по stmp вам также необходимо программное обеспечение MTA. Здесь хорошим выбором будет postfix . Если ваши пользователи могут создавать новые домены, вам нужно добавить конфигурацию mysql, которая сообщает postfix, для каких доменов она может принимать почту. Поскольку я точно не знаю требований к вашему домену, я просто укажу вам общее руководство по размещению виртуального домена с постфиксом: http://www.postfix.org/VIRTUAL_README.html

Наконец, если ваши пользователи также могут отправлять почту, вам необходимо настроить SASL в postfix. Это довольно просто, если у вас уже настроен dovecot. все сводится к сообщению постфикса «эй, у меня уже настроена аутентификация пользователя в dovecot, я не хочу делать это снова, просто поговорите с dovecot и позвольте ему делать свою работу». Документация здесь: http://www.postfix.org/SASL_README.html#server_dovecot

3 голосов
/ 28 июня 2011

Существует почтовый сервер с именем Zimbra , в котором есть версия сообщества с открытым исходным кодом, REST-интерфейс и SOAP-интерфейс.

  • Ссылка на REST (если я правильно понимаю, это не будет соответствовать вашим потребностям, поскольку вы можете манипулировать только существующей учетной записью через это)
  • интерфейс SOAP ; один пример здесь , на форуме много других.
...