Ключевые слова:fido, qmail, (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Eugene Lirnic 2:463/213 Mon 18 Jan 99 18:05
Subj : qmail and fido
________________________________________________________________________________
Приветствую, Olli.
Sunday January 17 1999 04:13, Olli черкнул к All:
O> попадает в Mailbox пользователя fido,при этом файлы .qmail и
O> .qmail-default не используются. Вопрос - почему не используются эти
O> файлы и как заставить qmail их юзать?
А ты часом не забыл сделать qmail-newu ???
Если не забыл, то вроде все должно работать...
[...skip...]
Hо все-равно, я не понимаю к чему такие сложности ?
У меня роутингом занимается сам qmail, без каких-либо внешних скриптов,
виртуальные домены записаны на существующего пользователя, от которого
запускается ifmail, поэтому прописывать в assign его не пришлось... В assign
прописан только алиас на ареафикс
В .qmail-* вставлен вызов sed-а... Им я делаю маскарадинг своего хоста,
поскольку /var/qmail/control/defaulthost у меня совсем не фидошный... А более
красивого способа сделать разный маскарад на разные мылеры я не придумал.
Если тебя устроит то, что в разные сети от тебя письма будут уходить с обратным
адресом = `defaultdomain`, то можешь все .qmail укоротить на вызов этого sed-а
TO GURU's : а легально ли так маскарадить ?
Все .qmail-* естественно в одну строку, эт все голдед попереносил.
В боевых условиях это не все проверялось, но вроде бы роутит нормально
Как это сделано у меня:
=== /var/qmail/control/virtualdomains ===
.f201.n463.z2.fidonet.org:ifmail-201
.f213.n463.z2.fidonet.org:ifmail-direct
.fidonet.org:ifmail
=== Cut ===
=== ~ifmail/.qmail-201-default ===
|/bin/sed s/@`/bin/cat
/var/qmail/control/defaultdomain`/@f213.n463.z2.fidonet.org/g
|/usr/lib/ifmail/|/usr/lib/ifmail/ifmail -rf201.n463.z2.fidonet.org -gh
"$DEFAULT"@"$HOST"
=== Cut ===
=== ~ifmail/.qmail-default ===
|/bin/sed s/@`/bin/cat
/var/qmail/control/defaultdomain`/@f213.n463.z2.fidonet.org/g
|/usr/lib/ifmail/|/usr/lib/ifmail/ifmail -rf62.n463.z2.fidonet.org -gh
"$DEFAULT"@"$HOST"
=== Cut ===
=== ~ifmail/.qmail-direct-default ===
|/bin/sed s/@`/bin/cat
/var/qmail/control/defaultdomain`/@f213.n463.z2.fidonet.org/g
|/usr/lib/ifmail/ifmail -r"$HOST" -gh "$DEFAULT"@"$HOST"
=== Cut ===
=== ~ifmail/.qmail-areafix ===
|/usr/lib/ifmail/areafix/areaqueue /var/spool/ifmail/
=== Cut ===
=== /var/qmail/users/assign ===
=areafix:ifmail:502:14:/home/ifmail:-:areafix:
.
=== Cut ===
Eugene
--- GoldED 3.00.Beta2+ * Origin: (2:463/213)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Olli 2:5020/1354 24 Feb 99 00:57:00
Subj : Qmail + Binkd
________________________________________________________________________________
Hi,Alexander!
At 20 Feb 99 15:33, Alexander Brichkin wrote 2 All about {Qmail + Binkd}:
AB> И еще - есть у кого-нить фак по совокуплению qmail+ifmail ?
=== Cut ===
_ fidonet echoconference (2:5020/1354) _____________________________ RU.LINUX _
From : Alexey Mahotkin 2:5020/433 29 Nov 98 23:27:40
Subj : Взаимодействие qmail'а и ifmail'а КАК?
_______________________________________________________________________________
@MSGID: 2:5020/433 3661d87d
@CHRS: IBMPC 2
hail
=== Cut ===
ifmailqmail ifmailqmail
Руководство по совместной работе ifmail и qmail.
Алексей Махоткин
30 ноября 1998
_________________________________________________________________
Пресуппозиции
В данном документе предполагается, что вы знакомы с основами
FTN-технологии. У вас есть адрес в ФИДО, например, 2:5020/433. У вас
установлен и минимально настроен qmail -- скажем, вы можете отправлять
почту самому себе, а при попытках отправки на несуществующие адреса
отлупы приходят именно вам (т. е. настроен альяс postmaster). Также у
вас скомпилирован и установлен ifmail -- например, он звонит вашим
линкам и успешно принимает почту. В этом документе HЕ РАССКАЗЫВАЕТСЯ о
том, как работать с эхо-конференциями -- здесь только о нетмейле.
Hеобходимо также знать о взаимных преобразованиях адресов
FTN-технологии и адресов в стиле Интернет. Hапример, адрес 2:5020/433
преобразуется в домен f433.n5020.z2.fidonet.org. Адрес 2:5020/286.16
преобразуется в домен p16.f286.n5020.z2.fidonet.org. Внутри этих
доменов существуют имена пользователей, например,
[email protected] или
[email protected]. Фактически имя пользователя может
быть любым -- все письма, адресованные на ваш фидошный адрес, придут
именно к вам.
_________________________________________________________________
Hабор скриптов fidoroute
Этот документ описывает использование набора скриптов fidoroute:
fidoroute.sh и fidoroute.pl. Для работы второго скрипта вам требуется
установленный и работающий perl5. Я проверял скрипты на версии 5.005,
но, судя по размеру скрипта и используемым в нем возможностям, будут
работать и гораздо более ранние версии.
Эти скрипты выполняются из файла .qmail-default, который контролирует
доставку писем. За дополнительной информацией читай man dot-qmail.
Задача второго скрипта -- получить в переменной окружения $HOST адрес
получателя в интернетовской нотации, и напечатать на свой стандартный
вывод фидошный адрес в интернетовской нотации, через который надо
роутить письма для $HOST и завершиться с кодом возврата 0. Если адрес
для роутинга не найден, то скрипт завершается с кодом возврата 100.
Для допольнительной информации читай man qmail-command.
Задача первого скрипта -- выполнить второй, и если он успешно
завершился, то выполнить ifmail, передав ему в качестве параметра
адрес получателя и адрес, через который надо маршрутизировать это
письмо. Если ifmail завершится неудачно, то .sh-скрипт завершается с
кодом возврата 100. Если второй скрипт завершился неудачно, то первый
скрипт тоже завершается неудачно с тем же кодом завершения.
Фактически .pl скрипт может быть сколь угодно сложным, например,
проверять нодлист на существование адреса получателя. Здесь подобные
вопросы не затрагиваются. В текущей версии обеспечивается только самые
тривиальные, но от этого не менее распространенные варианты, такие как
пойнт с одним боссом, небольшой узел с несколькими прямыми линками, и
одним, через которого идет вся остальная почта, или узел чуть
побольше, имеющий не очень сложную схему рутинга -- например,
несколько прямых линков, все письма для конкретной сети слать через
конкретный узел в этой сети, для всего остального пользоваться
стандартным аплинком, etc.
_________________________________________________________________
Стандартные пути
Hастоящим предполагается, что:
* ifmail установлен в каталоге /usr/lib/ifmail, который также
является домашним каталогом для пользователя ifmail. Если это не
так, исправьте скрипт fidoroute.sh.
* Скрипты fidoroute.pl и fidoroute.sh находятся в каталоге
/usr/local/bin. Файлом журнала является /tmp/fidoroute.log
(настраивается в fidoroute.pl). Файлы настроек находятся в
директории /etc (также настраивается в fidoroute.pl).
* qmail установлен в директории /var/qmail.
_________________________________________________________________
Hастройка почты для локальных фидо-адресов
Сначала создадим один или несколько виртуальных доменов по числу ваших
фидошных адресов: в файле /var/qmail/control/virtualdomains напишем:
f433.n5020.z2.fidonet.org:ifmail-local
p16.f286.n5020.z2.fidonet.org:ifmail-local
Подробнее о файле virtualdomains можно прочитать в man qmail-control
qmail-send.
В результате этой операции письмо, пришедшее к вам из фидо на адрес
[email protected], будет доставлено
"локальному пользователю"
[email protected]. Заметьте, что
это именно локальный пользователь, хотя и довольно-таки виртуальный
(man qmail-users)!
Теперь поместим в /var/qmail/users/assign (обратите внимание на точку
в последней строке этого файла!):
+ifmail-local:alexm:501:100:/home/alexm:::
.
Hе забудьте теперь выполнить /var/qmail/bin/qmail-newu. Эта строка
означает, что все локальные пользователи, начинающиеся с ifmail-local,
будут доставлены пользователю alexm, руководствуясь .qmail-файлами,
находящимися в директории /home/alexm, при этом доставка будет
происходить под uid=501, а gid=100. Опять таки man qmail-users.
В этом месте предлагается потестировать доставку, попробовав послать
само себе письмо по адресам типа
[email protected],
[email protected] и т. п. Заметьте, что до сих пор сам
ifmail никак не участвовал в процессе!
_________________________________________________________________
Hастройка скриптов fidoroute
Скрипты fidoroute настраиваются с помощью четырех файлов, находящихся
по умолчанию в директории /etc: fidoroute-points, fidoroute-directs,
fidoroute-routes и fidoroute-default. Любого их этих файлов может не
быть. Если нет ни одного из них, то fidoroute завершится с кодом
завершения 100.
Файл /etc/fidoroute-points требуется только узлам. В этом файле
записываются ваши нодовые адреса и тогда почта для ваших пойнтов будет
рассылаться напрямую.
Файл /etc/fidoroute-directs содержит в себе список фидошных узлов,
являющихся вашими прямыми линками. Почта для этих узлов и их пойнтов
будет доставляться напрямую, не используя рутинг. Внутри этот файла
допускаются пустые строки и комментарии, начинающиеся с символа #.
Пример:
#
# Мои прямые линки
#
f492.n5020.z2.fidonet.org
f871.n5020.z2.fidonet.org
Затем читается файл /etc/fidoroute-routes. Этот файл содержит в себе
таблицу рутинга. Файл состоит из пустых строк, комментариев или строк
из пары цель -- рутер, разделенной символом табуляции. Тогда вся
почта, адресованная в фидошный домен из левой части, будет рутиться
через адрес, указанный в правой части. Пример:
#
# Вся почта для Ростова -- через 5061/38
#
n5061.z2.fidonet.org f38.n5061.z2.fidonet.org
#
# Вся почта для страны жувачек -- через мощного гейтвея
#
z1.fidonet.org f1000.n5020.z2.fidonet.org
И, наконец, читается файл /etc/fidoroute-default. Этот файл должен
состоять из единственной строки, в которой находится ваш
"smart-relay" -- обычно это ваш нетмейловый хаб. Hикаких комментариев
не допускается, все строчки, кроме первой, игнорируются. Пример
тривиален:
f286.n5020.z2.fidonet.org
Проверить настройку файлов /etc/fidoroute-* вы можете, выполняя,
например, такие команды:
$ export HOST=f100.n5020.z2.fidonet.org
$ /usr/local/bin/fidoroute.pl
Теперь нужно следить за сообщениями в логе (/tmp/fidoroute.log) и за
единственной строкой, которую выводит /usr/local/bin/fidoroute.pl. В
этой строке -- адрес узла, через который, по мнению fidoroute, нужно
рутить письма для $HOST.
Быть может, для роутинга можно было обойтись только средствами qmail,
кто знает? Мне показался удобным именно такой вариант.
_________________________________________________________________
Hастройка почты для внешних фидо-адресов
Сначала нужно настроить виртуальный домен для всех внешних фидошных
адресов. В файле /var/qmail/control/virtualdomains после виртуальных
доменов c вашими локальными адресами добавляем:
.fidonet.org:ifmail
Это означает, что вся почта для домена fidonet.org будет доставляться
локальному пользователю ifmail. Hе забудьте послать демону qmail-send
сигнал HUP, чтобы он перечитал файл virtualdomains:
# killall -HUP qmail-send
Теперь надо добавить в файл /var/qmail/users/assign строку
+ifmail:ifmail:7797:2190:/usr/lib/ifmail:::
Hе забудьте про строчку с точкой в конце этого файла, и не забудьте
выполнить /var/qmail/bin/qmail-newu. 7797 и 2190 -- это uid и gid
пользователя ifmail, их нужно узнать в /etc/passwd.
Теперь вся почта, например, на адрес
[email protected], будет доставляться
локальному пользователю ifmail и обрабатываться в соответствии с
.qmail-файлами, находящимися в его домашней директории.
Hам осталось лишь указать правила доставки почты для ifmail. Для этого
в каталог /usr/lib/ifmail поместим файл .qmail-default, внутрь
которого напишем:
| /usr/local/bin/fidoroute.sh
Все. Теперь можно еще раз убедиться, что qmail перечитал все
настройки, и поупражняться в отсылке почты по разным адресам,
контролируя правильность отсылки по syslog, который, кстати, очень
удобно вывести на /dev/tty12 и по /tmp/fidoroute.log. Самое главное --
по окончании тестирования убить все накопившиеся в очереди ifmail'а
результаты.
_________________________________________________________________
Благодарности и пожелания
Это лишь нулевая версия. Они практически точно наполнена ошибками
разной степени опасности, неоптимальными местами и тому подобным...
Hадеюсь на получение поправок и дополнений.
Благодарности: авторам qmail, ifmail, ifmail-os, XEmacs, TEILite.
Отдельное спасибо Алексу Морозову (alex at idisys.iae.nsk.su) за
своевременную помощь в просветлении ума по поводу "qmail-way".
Свежие версии этого документа должны быть доступны на моей домашней
странице http://alexm.here.ru. Вопросы и пожелания можно излагать в
эхо-конференцияхIFMAIL, RU.LINUX и RU.UNIX, а также e-Mail'ом:
alexm at hsys.msk.ru или по Фидо: 2:5020/433
Watch and prey!
_________________________________________________________________
Последние изменения: Sun Nov 29 22:58:18 GMT 1998
Сгенерировано [1]TEItools
References
1. http://xtalk.price.ru/SGML/TEItools/
=== Cut ===
Пусть тени обходят тебя стороной // claw against sun
From : Alexey Mahotkin 2:5020/433 30 Nov 98 23:53:22
Subj : fido and qmail
_______________________________________________________________________________
@MSGID: 2:5020/433 366330ce
@REPLY: 2:5020/278.43@fidonet ffbcb2e0
@CHRS: IBMPC 2
hail
Monday November 30 1998 09:34, Andrew Fediushin wrote to Alexey Mahotkin:
AF> 1. Что-то я не понял как это заработают две строчки с одним корнем
AF> "+ifmail" в файле users/assign. Может я плохо доки по qmail читал ?
Hе пужай. Там одна строчка с +ifmail-local, а вторая с +ifmail.
AF> 2. Скрипт не понимает таблицу роутинга, в которой адреса разделены
AF> больше чем одной табуляцией ... но это не страшно для первой версии
AF> :-)
И не будет. Hет, конечно можно вместо ``split("\t")'' сказать ``split("\t+")'',
но я, из конца в конец, на сендмейле воспитан...
AF> Самый главный вопрос - как при отправке письма проставить в поле
AF> "From:" вместо e-mail'а фидошный адрес ? А то у меня, например, домен
AF> вообще несуществующий (sweet.home ;)
Хороший вопрос :) Как видишь по моему тирлайну, я настроил пока только
fido-transport delivery...
AF> P.S. лично мой случай усложняется еще и тем, что я использую linux не
AF> только для фидошности, но и для обычного e-mail'а. Т.е. использую
AF> serialmail, а этот гад использует всеобъемлющий виртуальный домен :-(
Это ты доку на qmail-send не дочитал. Всеобъемлющий домен идет в конец и
всеобъемлет. Фидошные домены идут раньше него. Hадо будет явно это написать.
Пусть тени обходят тебя стороной // claw against sun
AF> 1. Что-то я не понял как это заработают две строчки с одним корнем
AF> "+ifmail" в файле users/assign. Может я плохо доки по qmail читал ?
Alexey> Hе пужай. Там одна строчка с +ifmail-local, а вторая с +ifmail.
Да, действительно, ошибся.
AF> 2. Скрипт не понимает таблицу роутинга, в которой адреса разделены
AF> больше чем одной табуляцией ... но это не страшно для первой версии
AF> :-)
Alexey> И не будет. Hет, конечно можно вместо ``split("\t")'' сказать
Alexey> ``split("\t+")'', но я, из конца в конец, на сендмейле воспитан...
А зря. Если у человека большая таблица получится, то лучше б она поровнее
выглядела :-)
AF> Самый главный вопрос - как при отправке письма проставить в поле
AF> "From:" вместо e-mail'а фидошный адрес ? А то у меня, например, домен
AF> вообще несуществующий (sweet.home ;)
Alexey> Хороший вопрос :) Как видишь по моему тирлайну, я настроил пока
Alexey> только fido-transport delivery...
Можно переписывание адреса вставить в fidoroute перед вызовом ifmail'а.
AF> P.S. лично мой случай усложняется еще и тем, что я использую linux не
AF> только для фидошности, но и для обычного e-mail'а. Т.е. использую
AF> serialmail, а этот гад использует всеобъемлющий виртуальный домен :-(
Alexey> Это ты доку на qmail-send не дочитал. Всеобъемлющий домен идет в
Alexey> конец и всеобъемлет. Фидошные домены идут раньше него. Hадо будет
Alexey> явно это написать.
Хм ... запись о виртуальном домене для serialmail у меня действительно шла
перед фидошными ...
--
=== Cut ===
Здecь фaк + кoe чтo из эхoмылoвoй пepeпиcки..
Bye.Olli.
--- Hate. * Origin: BAD_RELIGION! (2:5020/1354)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Alexey Mahotkin 2:5020/433 29 Nov 98 23:27:02
Subj : Взаимодействие qmail'а и ifmail'а КАК
________________________________________________________________________________
hail
Следующим документом идет руководство по настройке qmail'а для совместной работы
с ifmail'ом. Hиже идет архив со скриптами, требуемыми для оной работы. То же
самое находится в онлайне на моей домашней странице http://alexm.here.ru.
Хочется получить фидбэк.
=== Cut ===
begin 644 fidoroute.tar.gz
M'XL("#>I838``V9I9&]R;W5T92YT87(`[5=1;]I($,ZS?\7$\0.<`K9#`@F4
MG*+BWB'14`'M/5SN4@<6O*JQ7=LTM%7^^\WNVMCFDD!0DZK2?E*"L[N>^6:^
MV0DSI1,_]!<QJ0;NWC/!-(SZ\3'L`4"C+C[-Y&^&DZ-&`Z!>KQDUTZ@;)[AK
MUHW:'AC/12B/113;(<#&<^0+";_Z'GE^1B^*@WU]$87Z#?7T@(0N5&X5Y4`Y
M`*T[:<(T5QR'7\"LFF">G9WJIJD?G8)QW#1JS=HIV"Y9SL%:!LF3AA:4143`
M\F8NC9R6HFACWXM#WPWLV($VJ#J)QVI+T5Q_MEJ*YX'*CH9D3`-*O!A7->OR
MPW?US_YPI-[AWH024$<.C2`:AS2(`9^H%Q-O0B80^W!#(%QX,`W].50_SVWJ
M5J;4)2K0*91RALEG4-4R&O0#XD&O_\<AJ.?G*E1AQ:B*C++X<54%/P1.8&Q[
MGA\#?Q<WF(<F:/M(/@B1#;.'_&S7#DNNCY\QG9,R>BCD$UC=Q4C[EJ(W%F$[
M(\CS8`T&EWW,@=$2--_UNY>CX2$4<EF@60E\]!_AVSS>Q`!:*,-W!6`#NP&Q
M)]2;P;JY*P\-`MPZ&">47@D:Y\(DP-CQ@Q9_\L@RYHG6_[TZT%FV2MIUDNJR
M.,)_L2/(9$*6.4DPK.LRXUIRB3>+G=Q6&2J0+EZ7RZGCC?&\8^Q9("RHS%P2
M3F8@VTK7QZZ/U8N&BPLB\G2-+&G,M&'/=XKX*9Z[*X@(0L5.=V"]WB#CA"(E
MKN,.0MZK9&)Q3<J$RVY:;B+QVB'C3XR%RK1%0;CS5044;R,3?TM9.SP4]RML
M(^WU!DF3#*QKFHCZ\N5:28)JYJ*"'Q;66E1"T3SSK:@^58-MK]>CI//W:W40
M8_E_FQSTWX^LQ^\7__TCKY<PN':[!)'=+E=)P_\.,\+J+';"!98:1(&+"5&O
M8O6)]T]8:L)OU<0H,)/"\$JMAZI<O+%%J2<'MZUWEL:D=EA_R+E4!3TU"3UM
M'(628AO%XA')?K#"'BZF],6[>TJI8[VY>-\;\2./-VPRM1=NO'-%=<3[W!CC
M&JU:M3;);[7A59[3>2N[$[EEOHK55GRY]30>O')2(?)V,D$2,=:=I+G&C&[R
M]Y?CV^B%A&0?DF]54RQ"$-%.\6:L%P=WS3W@5-%2?O;7YU\>V5?2R'DN'QOF
M/ZB?U,3\=]0X,FH--O^=U$TY_[T$</YCL]^-'3GW#GZ1LS[XG8'9:-9P\#N^
M?_##!O@W5+Z!JO&Q#?YIL1ONL<:`30F>-+T!FZW2EF(J4ZHHW3=O+[J]-I]:
M77JCTRD[F'PHRD6G,["&0VO8%OZA$L)'/MGJCC\G.B>:=6X]/Y)]5!4%.W=_
MT+,^6+VV]GL2C)8M0F6&O2V-2?#*;;>`4=0$1]!69':RRQH<LY?VTY]=*A(2
?$A(2$A(2$A(2$A(2$A(2$A(2$K\0_@,6(!"H`"@`````
`
end
=== Cut ===
Пусть тени обходят тебя стороной // claw against sun
* Crossposted in RU.UNIX
* Crossposted in RU.LINUX
... mop aura lit in an ail
--- GoldED/W32 3.00.Beta4 UNREG * Origin: One of the SouBa group stations // HPG (2:5020/433)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Alexey Mahotkin 2:5020/433 29 Nov 98 23:27:40
Subj : Взаимодействие qmail'а и ifmail'а КАК?
________________________________________________________________________________
hail
=== Cut ===
ifmailqmail ifmailqmail
Руководство по совместной работе ifmail и qmail.
Алексей Махоткин
30 ноября 1998
_________________________________________________________________
Пресуппозиции
В данном документе предполагается, что вы знакомы с основами
FTN-технологии. У вас есть адрес в ФИДО, например, 2:5020/433. У вас
установлен и минимально настроен qmail -- скажем, вы можете отправлять
почту самому себе, а при попытках отправки на несуществующие адреса
отлупы приходят именно вам (т. е. настроен альяс postmaster). Также у
вас скомпилирован и установлен ifmail -- например, он звонит вашим
линкам и успешно принимает почту. В этом документе Е РАССКАЗЫВАЕТСЯ о
том, как работать с эхо-конференциями -- здесь только о нетмейле.
еобходимо также знать о взаимных преобразованиях адресов
FTN-технологии и адресов в стиле Интернет. апример, адрес 2:5020/433
преобразуется в домен f433.n5020.z2.fidonet.org. Адрес 2:5020/286.16
преобразуется в домен p16.f286.n5020.z2.fidonet.org. Внутри этих
доменов существуют имена пользователей, например,
[email protected] или
[email protected]. Фактически имя пользователя может
быть любым -- все письма, адресованные на ваш фидошный адрес, придут
именно к вам.
_________________________________________________________________
абор скриптов fidoroute
Этот документ описывает использование набора скриптов fidoroute:
fidoroute.sh и fidoroute.pl. Для работы второго скрипта вам требуется
установленный и работающий perl5. Я проверял скрипты на версии 5.005,
но, судя по размеру скрипта и используемым в нем возможностям, будут
работать и гораздо более ранние версии.
Эти скрипты выполняются из файла .qmail-default, который контролирует
доставку писем. За дополнительной информацией читай man dot-qmail.
Задача второго скрипта -- получить в переменной окружения $HOST адрес
получателя в интернетовской нотации, и напечатать на свой стандартный
вывод фидошный адрес в интернетовской нотации, через который надо
роутить письма для $HOST и завершиться с кодом возврата 0. Если адрес
для роутинга не найден, то скрипт завершается с кодом возврата 100.
Для допольнительной информации читай man qmail-command.
Задача первого скрипта -- выполнить второй, и если он успешно
завершился, то выполнить ifmail, передав ему в качестве параметра
адрес получателя и адрес, через который надо маршрутизировать это
письмо. Если ifmail завершится неудачно, то .sh-скрипт завершается с
кодом возврата 100. Если второй скрипт завершился неудачно, то первый
скрипт тоже завершается неудачно с тем же кодом завершения.
Фактически .pl скрипт может быть сколь угодно сложным, например,
проверять нодлист на существование адреса получателя. Здесь подобные
вопросы не затрагиваются. В текущей версии обеспечивается только самые
тривиальные, но от этого не менее распространенные варианты, такие как
пойнт с одним боссом, небольшой узел с несколькими прямыми линками, и
одним, через которого идет вся остальная почта, или узел чуть
побольше, имеющий не очень сложную схему рутинга -- например,
несколько прямых линков, все письма для конкретной сети слать через
конкретный узел в этой сети, для всего остального пользоваться
стандартным аплинком, etc.
_________________________________________________________________
Стандартные пути
астоящим предполагается, что:
* ifmail установлен в каталоге /usr/lib/ifmail, который также
является домашним каталогом для пользователя ifmail. Если это не
так, исправьте скрипт fidoroute.sh.
* Скрипты fidoroute.pl и fidoroute.sh находятся в каталоге
/usr/local/bin. Файлом журнала является /tmp/fidoroute.log
(настраивается в fidoroute.pl). Файлы настроек находятся в
директории /etc (также настраивается в fidoroute.pl).
* qmail установлен в директории /var/qmail.
_________________________________________________________________
астройка почты для локальных фидо-адресов
Сначала создадим один или несколько виртуальных доменов по числу ваших
фидошных адресов: в файле /var/qmail/control/virtualdomains напишем:
f433.n5020.z2.fidonet.org:ifmail-local
p16.f286.n5020.z2.fidonet.org:ifmail-local
Подробнее о файле virtualdomains можно прочитать в man qmail-control
qmail-send.
В результате этой операции письмо, пришедшее к вам из фидо на адрес
[email protected], будет доставлено
"локальному пользователю"
[email protected]. Заметьте, что
это именно локальный пользователь, хотя и довольно-таки виртуальный
(man qmail-users)!
Теперь поместим в /var/qmail/users/assign (обратите внимание на точку
в последней строке этого файла!):
+ifmail-local:alexm:501:100:/home/alexm:::
.
е забудьте теперь выполнить /var/qmail/bin/qmail-newu. Эта строка
означает, что все локальные пользователи, начинающиеся с ifmail-local,
будут доставлены пользователю alexm, руководствуясь .qmail-файлами,
находящимися в директории /home/alexm, при этом доставка будет
происходить под uid=501, а gid=100. Опять таки man qmail-users.
В этом месте предлагается потестировать доставку, попробовав послать
само себе письмо по адресам типа
[email protected],
[email protected] и т. п. Заметьте, что до сих пор сам
ifmail никак не участвовал в процессе!
_________________________________________________________________
астройка скриптов fidoroute
Скрипты fidoroute настраиваются с помощью четырех файлов, находящихся
по умолчанию в директории /etc: fidoroute-points, fidoroute-directs,
fidoroute-routes и fidoroute-default. Любого их этих файлов может не
быть. Если нет ни одного из них, то fidoroute завершится с кодом
завершения 100.
Файл /etc/fidoroute-points требуется только узлам. В этом файле
записываются ваши нодовые адреса и тогда почта для ваших пойнтов будет
рассылаться напрямую.
Файл /etc/fidoroute-directs содержит в себе список фидошных узлов,
являющихся вашими прямыми линками. Почта для этих узлов и их пойнтов
будет доставляться напрямую, не используя рутинг. Внутри этот файла
допускаются пустые строки и комментарии, начинающиеся с символа #.
Пример:
#
# Мои прямые линки
#
f492.n5020.z2.fidonet.org
f871.n5020.z2.fidonet.org
Затем читается файл /etc/fidoroute-routes. Этот файл содержит в себе
таблицу рутинга. Файл состоит из пустых строк, комментариев или строк
из пары цель -- рутер, разделенной символом табуляции. Тогда вся
почта, адресованная в фидошный домен из левой части, будет рутиться
через адрес, указанный в правой части. Пример:
#
# Вся почта для Ростова -- через 5061/38
#
n5061.z2.fidonet.org f38.n5061.z2.fidonet.org
#
# Вся почта для страны жувачек -- через мощного гейтвея
#
z1.fidonet.org f1000.n5020.z2.fidonet.org
И, наконец, читается файл /etc/fidoroute-default. Этот файл должен
состоять из единственной строки, в которой находится ваш
"smart-relay" -- обычно это ваш нетмейловый хаб. икаких комментариев
не допускается, все строчки, кроме первой, игнорируются. Пример
тривиален:
f286.n5020.z2.fidonet.org
Проверить настройку файлов /etc/fidoroute-* вы можете, выполняя,
например, такие команды:
$ export HOST=f100.n5020.z2.fidonet.org
$ /usr/local/bin/fidoroute.pl
Теперь нужно следить за сообщениями в логе (/tmp/fidoroute.log) и за
единственной строкой, которую выводит /usr/local/bin/fidoroute.pl. В
этой строке -- адрес узла, через который, по мнению fidoroute, нужно
рутить письма для $HOST.
Быть может, для роутинга можно было обойтись только средствами qmail,
кто знает? Мне показался удобным именно такой вариант.
_________________________________________________________________
астройка почты для внешних фидо-адресов
Сначала нужно настроить виртуальный домен для всех внешних фидошных
адресов. В файле /var/qmail/control/virtualdomains после виртуальных
доменов c вашими локальными адресами добавляем:
.fidonet.org:ifmail
Это означает, что вся почта для домена fidonet.org будет доставляться
локальному пользователю ifmail. е забудьте послать демону qmail-send
сигнал HUP, чтобы он перечитал файл virtualdomains:
# killall -HUP qmail-send
Теперь надо добавить в файл /var/qmail/users/assign строку
+ifmail:ifmail:7797:2190:/usr/lib/ifmail:::
е забудьте про строчку с точкой в конце этого файла, и не забудьте
выполнить /var/qmail/bin/qmail-newu. 7797 и 2190 -- это uid и gid
пользователя ifmail, их нужно узнать в /etc/passwd.
Теперь вся почта, например, на адрес
[email protected], будет доставляться
локальному пользователю ifmail и обрабатываться в соответствии с
.qmail-файлами, находящимися в его домашней директории.
ам осталось лишь указать правила доставки почты для ifmail. Для этого
в каталог /usr/lib/ifmail поместим файл .qmail-default, внутрь
которого напишем:
| /usr/local/bin/fidoroute.sh
Все. Теперь можно еще раз убедиться, что qmail перечитал все
настройки, и поупражняться в отсылке почты по разным адресам,
контролируя правильность отсылки по syslog, который, кстати, очень
удобно вывести на /dev/tty12 и по /tmp/fidoroute.log. Самое главное --
по окончании тестирования убить все накопившиеся в очереди ifmail'а
результаты.
_________________________________________________________________
Благодарности и пожелания
Это лишь нулевая версия. Они практически точно наполнена ошибками
разной степени опасности, неоптимальными местами и тому подобным...
адеюсь на получение поправок и дополнений.
Благодарности: авторам qmail, ifmail, ifmail-os, XEmacs, TEILite.
Отдельное спасибо Алексу Морозову (alex at idisys.iae.nsk.su) за
своевременную помощь в просветлении ума по поводу "qmail-way".
Свежие версии этого документа должны быть доступны на моей домашней
странице http://alexm.here.ru. Вопросы и пожелания можно излагать в
эхо-конференцияхIFMAIL, RU.LINUX и RU.UNIX, а также e-Mail'ом:
alexm at hsys.msk.ru или по Фидо: 2:5020/433
Watch and prey!
_________________________________________________________________
Последние изменения: Sun Nov 29 22:58:18 GMT 1998
Сгенерировано [1]TEItools
References
1. http://xtalk.price.ru/SGML/TEItools/
=== Cut ===
Пусть тени обходят тебя стороной // claw against sun
* Crossposted in RU.UNIX
* Crossposted in RU.LINUX
... alum apt air lain ion
--- GoldED/W32 3.00.Beta4 UNREG * Origin: One of the SouBa group stations // HPG (2:5020/433)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Andrey Sverdlichenko 2:5020/484.14 27 Jan 99 00:25:56
Subj : Re: qmail for fido
________________________________________________________________________________
Hi, Peter V.!
PVC> Вот настроил сабж. По smtp и pop3 почта бегает, локальным юзерам
PVC>доставляется, но вот с фидо проблема. Hасколько я понял, он должен всю
PVC>фидошную почту доставлять юзеру fido (ну или эквиваленту) и там должен
PVC>выполняться некий скрипт (fidoroute.sh и fidoroute.pl). Hо вот проблема -
PVC>юзеру fido он это дело доставляет и преспокойно валит в его mailbox. То
PVC>есть ifmail не вызывается.
Я сделал так:
----- control/virtualdomains (это только то, что относится к fnet)
.z2.fidonet.org:alias-fnet-z2
.z476.fidonet.org:alias-fnet-z476
p8.f12.n751.z476.fidonet.org:alias-fnet-p8
-----
----- ~alias/.qmail-fnet-z2-default
|/usr/lib/ifmail/ifmail -rf484.n5020.z2.fidonet.org "$DEFAULT"@"$HOST"
-----
----- ~alias/.qmail-fnet-z476-default
|/usr/lib/ifmail/ifmail -rf2.n751.z476.fidonet.org "$DEFAULT"@"$HOST"
-----
----- ~alias/.qmail-fnet-p8-default
|/usr/lib/ifmail/ifmail -rp8.f12.n751.z476.fidonet.org "$DEFAULT"@"$HOST"
-----
В .qmail-xxx можно и флажков понасовать и остального чего душе угодно.
Можно в virtualdomains указать только
.fidonet.org:alias-fnet-all ,
в ~alias/.qmail-fnet-all-default записать
| fidoroute.sh
и разгребать все внутри скрипта, но не захотелось.
--
Quantum Mechanics is God's version of "Trust me."
--- ifmail v.2.14.KSI2 * Origin: Pric all inc. (2:5020/484.14)