Difference between revisions of "Mysmpt-t"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
m Mysmpt-t» переименована в «Gateway:SMTP:Mysmpt-t»: Для консистентности имен)
Line 25: Line 25:
 
и собственно сервер Jabber
 
и собственно сервер Jabber
  
(продолжение следует)
+
Настройка производится в нескольких местах: сам транспорт, база данных транспорта, почтовый агент, Jabber-сервер.
--[[User:Om|Om]] 14:54, 6 декабря 2006 (CET)
+
 
 +
== Настройка самого транспорта ==
 +
Настройка транспорта производится в файле 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, то изменения конфигурации для поддержания дополнительного домена будут минимальные, в случае необходимости настройки следует обратиться к [http://www.postfix.org официальной документации], так как объём данного документа не позволяет нам покрыть даже часть возможных вариантов настройки почтового сервера пусть даже небольшого масштаба.
 +
 
 +
Итак, для настройки 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'''.

Revision as of 22:54, 26 December 2006

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. Пример данного файла приводится в дистрибутиве:

  1. Our service name (FQDN)

name=dummy

  1. Jabbber server

server=jabber.org.net.ru

  1. Port on jabber server

port=5333

  1. Secret that is using while connecting to jabber server

password=secret

  1. Logfile to output information

logfile=log.txt

  1. Turn on debugging
  2. 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.