HOWTO : fidonet software for unix

[ index ] [ areafix ] [ binkd ] [ filefix ] [ ifmail ] [ inn ] [ mgetty ] [ sendmail ] [ together ] [ stat ] [ utilities ] [ download ]

sendmail

Программа разрабатывается Sendmail Inc., URL : http://www.sendmail.org. Здесь я опишу настройку sendmail'а (версий 8.9.3 и 8.11.2) для работы с ifmail.

компиляция

Если у вас уже установлен свежий sendmail и настроен .mc файл, то можете перейти к части добавление fido, иначе устанавливаем "с нуля".
Берем дистрибутив с ftp://ftp.sendmail.org/pub/sendmail/, например sendmail.8.9.3.tar.gz (8.11.2 : sendmail.8.11.2.tar.gz), раскручиваем его в /usr/src/sendmail-8.x.x, заходим в этот каталог. В дальнейшем я буду на него ссылаться как на $SRC. Начинаем конфигурировать :
Перейдите в каталог src (8.11.2 : sendmail), прочитайте README, затем начинайте компиляцию : sh ./Build -DNEWDB. Если скрипт отработает нормально, то запускаем sh ./Build install.

настройка

Создание sendmail.cf :
Переходим в $SRC/cf/cf, создаем свой файл настройки, например MyConfig.mc. У меня он примерно такой :
divert(-1)
#
# [...]
#
divert(0)dnl
VERSIONID(`@(#)MyConfig.mc')
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
FEATURE(virtusertable)dnl
FEATURE(mailertable)dnl
MAILER(smtp)dnl
MAILER(local)dnl
Вот это был обычный конфиг (без фидо).

добавление fido

В MyConfig.mc прописываем новый мейлер :
MAILER(ifmail)dnl
И в конец файла дописываем :
LOCAL_RULE_3
R$+ < @ $+ . fidonet . org > $*       $@ $1 < @ $2 . fidonet . org . > $3

(между $* и $@ - табуляция)
Можете дописать еще несколько вариантов, типа :
R$+ < @ $+ . fidonet > $*             $@ $1 < @ $2 . fidonet . org . > $3
R$+ < @ $+ . fido > $*                $@ $1 < @ $2 . fidonet . org . > $3

и т.п., но у меня работает и без них.
В $SRC/cf/mailer/ создадим файл ifmail.m4 с описанием нового мейлера со следующим содержимым :
PUSHDIVERT(-1)
#
# [...]
#
POPDIVERT
###################################
### IFMAIL Mailer specification ###
###################################
VERSIONID(`@(#)ifmail.m4  1.0 (I am) 4/29/1999')
Mifmail-c, P=/usr/local/fidonet/bin/ifmail, F=msSDFMuC, S=52/31, R=21, A=ifmail -gc -r $h $u
Mifmail-n, P=/usr/local/fidonet/bin/ifmail, F=msSDFMuC, S=52/31, R=21, A=ifmail -gn -r $h $u
Mifmail-h, P=/usr/local/fidonet/bin/ifmail, F=msSDFMuC, S=52/31, R=21, A=ifmail -gh -r $h $u

Здесь мы создали мейлеры ifmail-c, ifmail-n и ifmail-h, которые будут формировать три типа пакетов : crash, normal и hold.
Более подробное описание всей этой конструкции и смысла флагов смотрите в $SRC/doc/op/op.me, глава "5.4. M -- Define Mailer". Описание флагов ifmail'а - см. man ifmail.
Для компиляции MyConfig.mc возвращаемся в $SRC/cf/cf/ и запускаем sh ./Build MyConfig.cf (именно .cf, не .mc). При успешной компиляции, переименуйте MyConfig.cf в sendmail.cf и скопируйте его в /etc/ (8.11.2 : /etc/mail/).
8.11.2 : Перед настройкой дополнительных файлов sendmail'а прочитайте $SRC/cf/README (глава "FILE LOCATIONS") - там описано различие в названиях/местонахождениях файлов конфигурации между версиями 8.9.3 и 8.11.2.
/etc/mail/relay-domains :
localhost
domain.my
/etc/sendmail.ct(8.11.2 : /etc/mail/trusted-users) :
fido
/etc/sendmail.cw(8.11.2 : /etc/mail/local-host-names) :
localhost
domain.my

Назначение всех этих файлов читайте в описании sendmail'а.
Роутинг нетмейла прописывается в /etc/mailertable (8.11.2 : /etc/mail/mailertable) :
# Почту на 5020 роутим через нашего московского аплинка (crash)
.n5020.z2.fidonet.org   ifmail-c:f0.n5020.z2.fidonet.org
# Почту мне
f99.n5058.z2.fidonet.org  ifmail-n:f99.n5058.z2.fidonet.org
# Почта на пойнтов (hold)
p1.f99.n5058.z2.fidonet.org  ifmail-h:p1.f99.n5058.z2.fidonet.org
p2.f99.n5058.z2.fidonet.org  ifmail-h:p2.f99.n5058.z2.fidonet.org
# Всю остальную почту роутим через хаба (normal)
.fidonet.org    ifmail-n:f500.n5058.z2.fidonet.org

Не забывайте перестроить mailertable : makemap hash /etc/mailertable.db < /etc/mailertable (8.11.2 : makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable)
Перезапустим sendmail (если он у вас запущен) : killall -1 sendmail

This is a part of "HOWTO : fidonet software for unix", http://howto.id.ru
Original of this document is located at http://howto.id.ru/sendmail.html
Copyright (c) Vitaly Kuharev, 2:5058/49@fidonet, 1999-2001
Last updated : March, 09, 2001