Difference between revisions of "Mysmpt-t"
m (Корректура) |
m (Косметическая правка 1 раздела) |
||
Line 14: | Line 14: | ||
Для работы потребуется: | Для работы потребуется: | ||
− | Perl5 (проверялось на Perl-5.8.8)модули: | + | * Perl5 (проверялось на Perl-5.8.8) модули: |
− | + | *: Net::Jabber (и Net::XMPP) | |
− | + | *: MIME::Parser | |
− | + | *: MIME::Base64 | |
− | + | *: MIME::QuotedPrint | |
− | + | *: Mail::Sendmail | |
− | + | *: Getopt::Long | |
− | + | *: DBD::SQLite | |
− | MTA, например, Postfix | + | * MTA, например, Postfix |
− | + | * собственно сервер Jabber | |
Настройка производится в нескольких местах: сам транспорт, база данных транспорта, почтовый агент, Jabber-сервер. | Настройка производится в нескольких местах: сам транспорт, база данных транспорта, почтовый агент, Jabber-сервер. | ||
Line 43: | Line 43: | ||
# debug=1 | # debug=1 | ||
− | name - это полное имя сервиса в Jabber. То есть имя вида: smtp.my.jabber.server.ru, где my.jabber.server.ru - имя Вашего сервера Jabber. | + | name - это полное имя сервиса в Jabber. То есть имя вида: smtp.my.jabber.server.ru, где my.jabber.server.ru - имя Вашего сервера Jabber.<br> |
− | server - полное DNS имя Вашего Jabber-сервера. | + | server - полное DNS имя Вашего Jabber-сервера.<br> |
− | port - прослушиваемый порт Jabber-сервера к которому следует подключаться. | + | port - прослушиваемый порт Jabber-сервера к которому следует подключаться.<br> |
− | password - пароль на подключение сервиса. | + | password - пароль на подключение сервиса.<br> |
− | logfile - имя файла для логов. | + | logfile - имя файла для логов.<br> |
debug - включение режима отладки. | debug - включение режима отладки. | ||
Revision as of 23:19, 31 May 2008
MySMTP-t - легковесный шлюз Jabber-SMTP, который осуществляет прозрачное преобразование Jabber-трафика в SMTP и обратно.
Целевая аудитория: администраторы серверов Jabber.
Скачать все необходимые файлы можно из SVN svn://mytlt.ru/mysmtp-t На данный момент проект насчитывает три файла: smtp -- отвечает за регистрацию пользователей, отправку сообщений из Jabber в SMTP, работает в режиме демона; smtpbot -- отвечает за приём сообщений от почтового сервера и отправку их в Jabber, отправляет сообщения на авторизацию; smtp.ini -- конфигурационный файл
В процессе использования будет создан ещё файл smtp.db, который содержит информацию о пользователях.
Для работы потребуется:
- Perl5 (проверялось на Perl-5.8.8) модули:
- Net::Jabber (и Net::XMPP)
- MIME::Parser
- MIME::Base64
- MIME::QuotedPrint
- Mail::Sendmail
- Getopt::Long
- DBD::SQLite
- MTA, например, Postfix
- собственно сервер Jabber
Настройка производится в нескольких местах: сам транспорт, база данных транспорта, почтовый агент, Jabber-сервер.
Настройка самого транспорта
Настройка транспорта производится в файле smtp.ini. Пример данного файла приводится в дистрибутиве:
# Our service name (FQDN) name=dummy # Jabbber server server=jabber.org.net.ru # Port on jabber server port=5333 # Secret that is using while connecting to jabber server password=secret # Logfile to output information logfile=log.txt # Turn on debugging # debug=1
name - это полное имя сервиса в Jabber. То есть имя вида: smtp.my.jabber.server.ru, где my.jabber.server.ru - имя Вашего сервера Jabber.
server - полное DNS имя Вашего Jabber-сервера.
port - прослушиваемый порт Jabber-сервера к которому следует подключаться.
password - пароль на подключение сервиса.
logfile - имя файла для логов.
debug - включение режима отладки.
Следует отметить, что при отсутствии имени сервиса оно будет выбрано автоматически путём добавления к имени сервера префикса smtp и знака точки. То есть для сервера jabber.org автоматически выбранное имя будет smtp.jabber.org.
Настройка MTA Postfix
Если у Вас уже имеется настроенный MTA Postfix, то изменения конфигурации для поддержания дополнительного домена будут минимальные, в случае необходимости настройки следует обратиться к официальной документации, так как объём данного документа не позволяет нам покрыть даже часть возможных вариантов настройки почтового сервера пусть даже небольшого масштаба.
Итак, для настройки postfix нам необходимо внести изменения в файлы main.cf и master.cf, которые можно отнести, пожалуй, к самым главным файлам настройки postfix и в файле transport, который указывает на маршрутизацию писем по получателю. main.cf: В пункт mydestination необходимо добавить обслуживаемый jabber-домен, например для jabber.org:
'''mydestination = $myhostname, localhost, jabber.org'''
(в данном случае я добавил только jabber.org в конец списка) Также требуется отключить проверку пользователей jabber-домена на присутствие в системе:
'''local_recipient_maps ='''
То есть присвоить этому параметру пустое значение. Если у Вас обслуживается несколько доменов, то необходимо создать дополнительный файл, который будет содержать запись что все пользователи jabber-домена являются допустимыми. Подробнее об этом можно прочитать в документации по postfix. Если параметр transport_maps ещё не включает в себя файл transport, то добавьте его
transport_maps = hash:/etc/postfix/transport
master.cf. Добавляем следующие строки транспорта:
jabber unix - n n - - pipe flags=DRhu user=jabber argv=/opt/jabber/mailgate/smtpbot ${sender} ${recipient}
Здесь в поле user указывается пользователь от чьего имени работает jabber-сервер, и исправляете путь до местонахождения траспорта в Вашей файловой системе.
transport. Прописываем строчку для нашего домена (на примере jabber.org):
jabber.org jabber:
После это выполните команду postmap transport.