Editing Mysmpt-t

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.

The administrator who locked it offered this explanation: MediaWiki upgrading

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
'''MySMTP-t''' - легковесный шлюз Jabber-SMTP (транспорт в терминологии jabber), который осуществляет прозрачное преобразование Jabber-трафика в SMTP и обратно. Транспорт '''MySMTP-t''' написан на [[Perl]].
+
'''MySMTP-t''' - легковесный шлюз Jabber-SMTP, который осуществляет прозрачное преобразование Jabber трафика в SMTP и обратно.
  
Целевая аудитория документа: администраторы серверов Jabber.
+
Целевая аудитория: администраторы Jabber серверов.
  
 
----
 
----
  
== Установка MySMTP-t ==
 
 
Скачать все необходимые файлы можно из SVN svn://mytlt.ru/mysmtp-t
 
Скачать все необходимые файлы можно из SVN svn://mytlt.ru/mysmtp-t
На данный момент (май 2008) проект насчитывает четыре файла:
+
На данный момент проект насчитывает три файла:
; smtp     : отвечает за регистрацию пользователей, отправку сообщений из Jabber в SMTP, работает в режиме демона;
+
smtp -- отвечает за регистрацию пользователей, отправку сообщений из Jabber в SMTP, работает в режиме демона;
; smtpbot : отвечает за приём сообщений от почтового сервера и отправку их в Jabber, отправляет сообщения на авторизацию;
+
smtpbot -- отвечает за приём сообщений от почтового сервера и отправку их в Jabber, отправляет сообщения на авторизацию;
; smtp.ini : конфигурационный файл;
+
smtp.ini -- конфигурационный файл
; tidy.cfg : конфигурационный файл Tidy.
+
  
 
В процессе использования будет создан ещё файл smtp.db, который содержит информацию о пользователях.
 
В процессе использования будет создан ещё файл smtp.db, который содержит информацию о пользователях.
  
 
Для работы потребуется:
 
Для работы потребуется:
* [[Perl|Perl5]] (проверялось на Perl-5.8.8) и модули к нему:
+
Perl5 (проверялось на Perl-5.8.8)модули:
*# внешние:
+
    Net::Jabber (и Net::XMPP)
*#*    DBI;
+
    MIME::Parser
*#*    DBD::SQLite;
+
    MIME::Base64
*#*    HTML::Tidy;
+
    MIME::QuotedPrint
*#*    HTTP::Request;
+
    Mail::Sendmail
*#*    [[Net::Jabber]] [[Net::XMPP]]);
+
    Getopt::Long
*#*    Mail::Sendmail;
+
    DBD::SQLite
*#*    MIME::Parser;
+
MTA Postfix
*#*    MIME::Base64;
+
и собственно сервер Jabber
*#*    MIME::QuotedPrint;
+
*# стандартные:
+
*#*    utf8;
+
*#*    Data::Dumper;
+
*#*    Getopt::Long;
+
*#*    Encode.
+
* MTA, например, Postfix
+
* собственно сервер Jabber
+
  
Настройка производится в нескольких местах: сам транспорт, база данных транспорта, почтовый агент, Jabber-сервер.
+
(продолжение следует)
 
+
--[[User:Om|Om]] 14:54, 6 декабря 2006 (CET)
== Настройка самого транспорта ==
+
Настройка транспорта производится в файле smtp.ini. Пример данного файла приводится в дистрибутиве:
+
 
+
# Our service name (FQDN)
+
name=smtp.jabber.org.net.ru
+
# 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:  полное доменное имя вашего Jabber-сервера.
+
;port:    прослушиваемый порт Jabber-сервера, к которому следует подключаться транспорту.
+
;password: пароль на подключение сервиса.
+
;logfile:  имя файла журнала.
+
;debug:    включение режима отладки.
+
 
+
Следует отметить, что при отсутствии имени сервиса оно будет выбрано автоматически путём добавления к имени сервера префикса smtp и точки. Например, для сервера jabber.org автоматически выбранное имя будет smtp.jabber.org.
+
 
+
== Настройка сервера Jabber ==
+
 
+
В сервере Jabber нужно настроить порт для приёма соединения от транспорта, для примера из предыдущего параграфа - 5333.
+
 
+
Пример для [[ejabberd]], в случае, если транспорт установлен на том же сервере:
+
 
+
{5333, ejabberd_service, [{access, all},
+
                          {ip, {127, 0, 0, 1}},
+
                          {hosts, ["smtp.jabber.org.net.ru"], [{password, "seCREt"}]}
+
                          ]
+
}
+
,
+
 
+
== Настройка 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-сервер, и в параметре argv указывается полный путь до файла smtpbot в файловой системе сервера.
+
 
+
====Изменения в файле transport====
+
В файл transport вписываем строчку для нашего домена (на примере jabber.org):
+
 
+
jabber.org        jabber:
+
 
+
====Проверка и запуск====
+
 
+
После завершения настройки необходимо выполнить команду '''postmap transport''', задать postfix команду перечитать конфигурацию (в Linux - '''/etc/init.d/postfix reload''') и в файле '''/var/log/mail''' проверить, что postfix работает нормально. Затем можно в клиенте jabber подключаться к транспорту и пересылать сообщения из jabber на email и наоборот.
+
 
+
[[Category:Gateway]]
+
[[Category:HowTo]]
+

Please note that all contributions to JaWiki (Jabber/XMPP wiki) may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see JaWiki (Jabber/XMPP wiki):Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)