Ключевые слова:fido, gateway, sendmail, (найти похожие документы)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Dmitry Chernyak 2:5030/983.998 19 Nov 99 02:32:36
Subj : Sendmail: автопосыл емейла через ФИДО гейт
________________________________________________________________________________
Господа!
Захотелось мне красивого:
Чтобы при посылке емейла с домашней машины, письмо само отправлялось на
ближайший ФИДО -> Интернет гейт.
Связанно это с тем, что ФИДО у меня есть, а интернет дома без надобности.
Таким образом, при попытке отправить письмо получателю, домен которого не
идентифицирован (например user@mail.ru), адрес получателя должен быть
переписан в виде user%mail.ru@f128.n5030.z2.fidonet.org, где /128 - это адрес
Питерского гейта в интернет. После переписывания, письмо должно пойти или
директом, или - по правильному роутингу, в зависимости от общих настроек.
>Мой вариант решения задачи приведен ниже. Однако, хотелось бы узнать мнение
>профессионалов...
Итак, мое решение состоит из двух частей: 1) созданию условной записи в
mailertable и 2) правки sendmail.cf
1) в mailertable, где у меня (как у многих) задается FTN-routing создается
условная запись вида:
. FIDORELAY:f128.n5030.z2.fidonet.org
которая должна указывать, что адреса с нераспознанными доменами должны
переписываться с заменой "@" на "%" и посылаться на гейт, указанный после ":"
(причем сам адрес гейта должен будет также обработаться по правилам поиска
ближайшего ФИДОшного релея)
2) в sendmail.cf был дополнен ruleset 90 (он вызывается из 0-го для обработки
mailertable). Hовые строчки предваряются комментариями на русском, старые
строчки не изменялись и не удалялись.
Hекоторые правила записаны в две строчки по причине отсутствия места.
###################################################################
### Ruleset 90 -- try domain part of mailertable entry ###
###################################################################
S90
R$* <$- . $+ > $* $: $1$2 < $(mailertable .$3 $@ $1$2 $@ $2 $) > $4
# Эта строчка сработает когда удастся определить релей для ФИДО-гейта.
R$* <$~[ : $+ > $* < FRELAY > $>95 < $2 : $3 > $4 resolved relay
R$* <$~[ : $+ > $* $>95 < $2 : $3 > $4 check -- resolved?
R$* < . $+ > $* $@ $>90 $1 . <$2> $3 no -- strip & try again
# Если здесь встретился такой шаблон - нам не удалось определить релей для
# ФИДО-гейта - вероятно, ошибка в mailertable. Предотвращает зацикливание.
R$* < $* > $* % $* < @ $* > < FRELAY >
$: $>95 < error : $5 > $3 @ $4
R$* < $* > $* $: < $(mailertable . $@ $1$2 $) > $3 try "."
# если из mailertable выбрана служебная запись FIDORELAY - переписать адрес
# получателя по правилу и попытаться найти релей для указанного ФИДО-гейта.
R< FIDORELAY : $+ > $+ < @ $+ >
$@ $>90 < $1 > $2 % $3 < @ $1 > < FRELAY >
R< $~[ : $+ > $* $>95 < $1 : $2 > $3 "." found?
R< $* > $* $@ $2 no mailertable match
Да, и еще - есть ли возможность включать такие дополнения в myhost.mc, а не
править .cf ручками?
CU Dmi.
--- slrn (0.9.4.3 UNIX) * Origin: Dmi's Home Fidonet News site (2:5030/983.998@fidonet)