15.2 Установки для локальной сети
Если Вы имеете пункт с двумя или больше главными ЭВМ,
соединенными локальной сетью (LAN), Вы будете должны обозначить
один host, который обрабатывает ваше UUCP соединение со внешним
миром. Представте, что мы снова на Виртуальном Пивоваренном
заводе, и vstout установлен как UUCP ворота.
В среде с сетевой структурой, самое лучшее хранить
пользовательские mailbox на одиночной файловой системе, которая nfs-
связана со всеми главными ЭВМ. Это позволяет пользователям
двигаться от машины до машины, без необходимости перемещать их
почту (или даже хуже, проверять приблизительно три или четыре
машины для недавно прибытой почты каждое утро). Следовательно,
Вы также хотите делать адреса отправителя независимыми от машины.
Общая практика - использовать область, как адрес отправителя, вместо
hostname. Janet, например, определил бы janet@vbrew.com вместо
janet@vale.vbrew.com. Мы объясним ниже, как заставить сервер
распознать имя области как допустимое имя для вашего пункта.
Другой способ хранения всех mailbox на центральном host состоит в
том, чтобы использовать POP или IMAP. POP замещает Протокол
Почтового отделения и допускает пользователей, обращаться к их
mailbox по TCP/IP. IMAP, интерактивный Протокол Доступа Почты
подобен POP, но более общий. И клиентура и серверы для IMAP и POP
была пренесена на Linux, и доступна из sunsite.unc.edu ниже
/pub/Linux/system/Network.
15.2.1 Написание Файлов Конфигурации
Конфигурация для Пивоваренного завода работает следующим
образом: все главные ЭВМ за исключением сервера почты vstout
непосредственно направляют всю почту к серверу, используя
маршрутизацию smart host. Vstout непосредственно посылает всю почту
реальному smart host, который направляет всю почту Пивоваренного
завода; этот host называется moria.
Стандартный файл конфигурации для всех главных ЭВМ отличных
от vstout походит на это:
#
# Our domain:
visible domain=vbrew.com
#
# What we name ourselves
visible name=vbrew.com
#
# Smart-host routing: via SMTP to vstout
smart path=vstout
smart transport=smtp
Это очень похоже на то, что мы использовали для uucp пункта.
Основное различие - то, что транспорт, используемый, чтобы послать
почту smart host, конечно, SMTP. Атрибут области заставит smail
использовать имя области вместо локального hostname на всей почте.
На UUCP воротах vstout, файл конфигурации немного отличный:
#
# Our hostnames:
hostnames=vbrew.com:vstout.vbrew.com:vstout
#
# What we name ourselves
visible name=vbrew.com
#
# in the uucp world, we're known as vbrew.com
uucp name=vbrew.com
#
# Smart transport: via uucp to moria
smart path=moria
smart transport=uux
#
# we're authoritative for our domain
auth domains=vbrew.com
Этот файл конфигурации использует отличную схему, чтобы
сообщить smail, чем локальный host вызывается. Вместо того, чтобы
давать список областей и позволять находить hostname системным
вызовом, он определяет список явно. Вышеупомянутый список
содержит, и полностью квалифицированные и неквалифицированные
hostname, и область. Это заставит smail распознать janet@vbrew.com как
локальный адрес, и передавать сообщение janet.
Auth переменная областей называет области, для которых vstout
является авторитарным. То есть если smail получает любую почту,
адресованную host .vbre.com, где host не называет существующую
локальную машину, он отклоняет сообщение и возвращает это
отправителю. Если этот вход не представлен, любое такое сообщение
будет послано smart-host, который возвратит его к vstout, и так далее,
пока оно не будет отброшено из-за превышения максимального счета
посылки на небольшое расстояние.
15.2.2 Выполнение smail
Сначала, Вы должны решить, выполниться ли, smail как отдельный
daemon, или управляет SMTP портом и smail вызывается только всякий
раз, когда SMTP соединение запрошено от некоторого клиента.
Обычно, Вы предпочтете операцию daemon на сервере почты, потому
что это загружает машину гораздо меньше чем порождение smail много
раз для каждого одиночного соединения. Поскольку сервер почты
передает большинство входящей почты непосредственно
пользователям, Вы выберете операцию inetd на большинстве других
главных ЭВМ.
Для любого режима работы, который Вы выбираете для каждого
индивидуального host, Вы должны удостовериться, что Вы имеете
следующий вход в вашем файле /etc/services:
smtp 25/tcp # Simple Mail Transfer Protocol
Это определяет TCP число порта, которое smail должен
использовать для SMTP диалогов. 25 - стандарт, определенный
Назначенными Числами RFC.
В daemon режиме, smail поместится в фон, и будет ждать соединения
на SMTP порте. Когда соединение происходит, он ветвится и проводит
SMTP диалог с равным процессом. Smail daemon обычно запускается,
как команда rc.inet2, используя следующую команду:
/usr/local/bin/smail -bd -q15m
-bd флаг включает daemon режим, а -q15m делает обработку
сообщений в очереди каждые 15 минут.
Если Вы хотите использовать inetd взамен, ваш файл /etc/inetd.conf,
должен содержать строку:
smtp stream tcp nowait root /usr/sbin/smtpd smtpd
Smtpd должен быть символическая связь к smail двоичному. Не
забудьте, что Вы должны заставить inetd повторно-читать inetd.conf,
посылая ему сигнал HUP после создания этих изменений.
Daemon режим и inetd режим взаимно исключающиеся. Если Вы
выполняете smail в deamon режиме, Вы должны удостовериться, и
прокомментировать любую строку в inetd.conf для smtp обслуживания.
При наличии inetd управления smail, удостоверитесь, что rc.inet2 не
запускает smail daemon.
15.3 Если Не Проходит ...
Если кое-что идет неправильно с вашей установкой, имеется ряд
возможностей, которые могут помочь Вам найти корень проблемы.
Первое место, которое нужно проверить - регистрационные файлы
smail. Они сохраняются в /var/spool/smail/log, и именованы logfile и
paniclog, соответственно.
Типичный вход в logfile походит на это:
04/24/94 07:12:04: [m0puwU8-00023UB] received
| from: root
| program: sendmail
| size: 1468 bytes
04/24/94 07:12:04: [m0puwU8-00023UB] delivered
| via: vstout.vbrew.com
| to: root@vstout.vbrew.com
| orig-to: root@vstout.vbrew.com
| router: smart host
| transport: smtp
Это показывает, что сообщение от root до root@vstout.vbrew.com
было правильно передано host vstout над SMTP.
Сообщения smail не могут быть переданы, генерацией входа в
регистрационном файле, но сообщение об ошибке передается:
04/24/94 07:12:04: [m0puwU8-00023UB] received
| from: root
| program: sendmail
| size: 1468 bytes
04/24/94 07:12:04: [m0puwU8-00023UB] root@vstout.vbrew.com ... deferred
(ERR 148) transport smtp: connect: Connection refused
Вышеупомянутая ошибка типична для ситуации, в которой smail
правильно распознает, что сообщение должно быть передан к vstout, но
не был способен соединиться с SMTP обслуживанием по vstout. Если
это случается, Вы или имеете проблему конфигурации, или поддержка
TCP отсутствует в вашем smail binaries.
Эта проблема не так уж необыкновена, как можно было думать. Имелся
бы исходник smail binaries, даже в некоторых распределениях Linux, без
поддержки для работы с сетями TCP/IP. Если дело обстоит так, Вы
должны компилировать smail самостоятельно. Устанавливая smail, Вы
можете проверять, имеет ли он TCP поддержку работы с сетями telnet к
SMTP порту на вашей машине. Успешное соединие с SMTP сервером,
показывается ниже:
$ telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 monad.swb.de Smail3.1.28.1 #6 ready at Sun, 23 Jan 94
19:26 MET
QUIT
221 monad.swb.de closing connection
Если этот тест не производит SMTP заголовок (строка,
начинающаяся с 220 кода), сначала удостовертесь, что ваша
конфигурация действительно правильна прежде, чем компилировать
smail самостоятельно, как описано ниже.
Если Вы сталкиваетесь с проблемой с smail, и Вы неспособны
разместить сообщения об ошибках smail, Вы можете включить
сообщения отладки. Вы можете сделать это используя -d флаг,
необязательно сопровождаемый числом, определяющим уровень
точности. Smail будет печатать отчет на экран, который может давать
Вам большое количество подсказок относительно того что, идет
неправильно.
15.3.1 Компиляция smail
Если Вы знаете наверняка, что smail испытывает недостаток TCP
поддержки сети, Вы должны получить исходник. Он возможно
включен в ваше распределение, если Вы получили его через CD-ROM,
иначе Вы можете получать его из сети через FTP.
При компилировании smail, лучше всего работать с набором файлов
конфигурации из newspak распределения Vince Skahan's. Чтобы
компилировать в TCP драйвере работы с сетями, Вы должны
установить макркоманду КОНФИГУРАЦИИ ДРАЙВЕРА в conf/EDITME
файле к или bsd-сети или arpa-сети. Вышеупомянутые подходят для
инсталляции LAN, но Internet требует arpa-сети. Различие между этими
двумя - в том, что последний имеет специальный драйвер для BIND
обслуживания, которое способно распознать записи MX.
15.4 Режимы доставки Почты
Как отмечено выше, smail способен передать сообщения
немедленно, или ставить их в очередь для обработки позже. Если,
который Вы выбираете очередь, smail сохранит всю почту в каталоге
сообщений /var/spool/smail.
Вы можете выбирать один из трех режимов получения,
устанавливая атрибут режима получения в файле конфигурации как
активный, фоновый, или поставленный в очередь.
Если Вы включаете формирование очереди, Вы должны
удостовериться, что очередь проверяется регулярно; возможно каждые
10 или 15 минут. Если Вы выполняете smail в daemon режиме, Вы
должны добавить опцию -q10m в командной строке. В качестве
альтернативы, Вы можете вызывать runq из cron в этих интервалах.
Runq должен быть связан с smail.
Вы можете отображать текущую очередь почты, вызывая smail с -bp
опцией. Так же, Вы можете делать mailq связь с smail, и вызывать mailq:
$ mailq -v
m0pvB1r-00023UB From: root (in /var/spool/smail/input)
Date: Sun, 24 Apr 94 07:12 MET DST
Args: -oem -oMP sendmail root@vstout.vbrew.com Log of transactions:
Xdefer: reason: (ERR 148) transport smtp: connect:
Connection refused
Это показывает одиночное сообщение, в очереди сообщений. Файл
регистрации (который отображается, если Вы даете mailq -v опцию)
может давать дополнительную причину, почему оно все еще ждет
получения.
Даже, когда Вы не используете формирование очереди, smail
будет иногда помещать сообщения в очередь, когда он находит
непосредственные сбои получения по нерезидентной причине. Для
SMTP соединений, это может быть недоступный host; но сообщения
могут также быть отсрочены, когда файловая система полна.
15.5 Разнообразная конфигурация Опций
Имеется очень большое количество опций, которые Вы можете
устанавливать в файле конфигурации, которые, хотя и полезны, но не
существенны для выполнения smail, и которые мы не будем обсуждать
здесь. Взамен, мы только упомянем несколько, что бы Вы могли
находить причины использовать их:
Если error copy postmaster - булева переменная установлена, любая
ошибка, генерирует сообщение начальнику почтового отделения.
Обычно, это выполнено для ошибок, которые появляются из-за
дефектной конфигурации. Переменная может быть включена, помещая
ее в файле конфигурации, с предшествующим плюсом (+).
max hop count Если число переходов сообщения (то есть число главных
ЭВМ, уже пересеченных) равняется или превышает это число, попытки
получения приведут к сообщению об ошибках, возвращаемому
отправителю. Это используется, чтобы предотвратить сообщения от
выполнения бесконечного цикла. Счет перходов вообще вычислен из
числа Received: поля в заголовке почты, но могут также быть
установлен вручную используя -h опцию в командной строке.
Значение по умолчанию 20.
15.6 Маршрутизация и Получение Сообщений
Smail разбивает получение почты в три различных задачи,
программу маршрутизации, руководитель, и транспортный модуль.
Модуль программы маршрутизации распределяет все отдаленные
адреса, определяя к которому host, сообщение должно быть послано
следующему, и который транспорт должен использоваться. В
зависимости от характера связи, различные транспортировщики типа
UUCP или SMTP могут использоваться.
Транспортный модуль, в заключение, является ответственным за
любой метод получения, который был выбран. Он пробует передавать
сообщение, и в случае отказа или генерирует сообщение удара, или
задерживает его для более позднего повторения.
С smail, Вы имеете много свободы в конфигурировании этих задач.
Для каждого из них, доступен ряд драйверов, из которого Вы можете
выбирать те, в которых Вы нуждаетесь. Вы описываете их smail в паре
файлов, а именно routers, directors, и transports в /usr/lib/smail. Если эти
файлы не существуют, приняты приемлемые значения по умолчанию.
Если Вы хотите изменить маршрутизацию smail, или изменить
транспорт, Вы должны получить типовые файлы из smail исходного
распределения, скопировать типовые файлы в /usr/lib/smail, и изменять
их согласно вашим потребностям. Типовые файлы конфигурации также
даны в Приложении(аппендиксе) 20.3.
15.7 Маршрутизация Сообщений
Когда дано сообщение, smail проверяет, если адресат - локальный
host, или отдаленный пункт. Если целевой адрес host является одним из
локального hostname, конфигурированного в конфигурации, сообщение
будет передано модулю управления. Иначе, smail вручает адрес ряду
драйверов программы маршрутизации, чтобы выяснить которому host'у
передано сообщение. Они могут быть описаны в файле routers; если
этот файл не существует, используется набор заданных по умолчанию
программ маршрутизации.
Host адресата передается всем программам маршрутизации по
очереди, и находящий наиболее специфический маршрут будет выбран.
Рассмотрите сообщение, адресованное joe@foo.bar.com. Одна
программа маршрутизации могла бы знать заданный по умолчанию
маршрут для всех главных ЭВМ в bar.com области, в то время как другая
имеет информацию для foo.bar.com непосредственно. Если там - две
программы маршрутизации, которые обеспечивают "лучшее
соответствие'', та что раньше в файле программ маршрутизации будет
выбрана.
Эта программа маршрутизации теперь определяет транспорт,
который нужно использовать, например UUCP, и генерирует новый
адрес адресата. Новый адрес передан на транспорт наряду с host. В
вышеупомянутом примере, smail мог бы выяснять, что foo.bar.com
должен быть достигнут через UUCP использование пути ernie!Bert.
Тогда генерируется новая цель из bert!Foo.bar.com!user, и используется
UUCP транспорт, поскольку конверт адресован к ernie.
При использовании заданной по умолчанию установки, следующие
программы маршрутизации доступны:
+ Если, адрес host адресата может быть разрешен, используя
gethostbyname или gethostbyaddr вызов из библиотек, сообщение, будет
передано через SMTP. Единственое исключение - если адрес найден,
чтобы обратиться к локальному host.
Smail также распознает адреса IP, которые пишутся как точечная
четверка, как допустимый hostname, если только они могут быть решены
через gethostbyaddr обращение. Например, scrooge@ [149.76.12.4] был
бы допустим, хотя это необычный почтовый адрес для scrooge на
quark.physics.groucho.edu.
Если ваша машина находится на Internet, эти программы
маршрутизации - не то, что Вы ищете, потому что они не
поддерживают записи MX. См. ниже что делать в этом случае.
+ Если pathalias база данных (/usr/lib/smail/paths) существует, smail пробует
искать целевой host (минус любой конечный .uucp) в этом файле. Почта
к адресу, согласованному этой программой маршрутизации будет
передана используя UUCP, и используя путь, найденный в базе данных.
+ Адрес host (минус любой конечный .uucp) будет сравниваться с
выводом команды uuname, чтобы проверить является ли целевой host
фактически соседом UUCP. Если дело обстоит так, сообщение будет
передан использованием UUCP транспорта.
+ Если, адрес не был согласован любой из вышеупомянутых программ
маршрутизации, он будет передан smart host. Путь smart host также как
транспорт, который нужно использовать установлен в файле
конфигурации.
Эти значения по умолчанию работают для многих простых
установок, но сбоят при более сложной маршрутизации. Если перед
Вами стоит одна из проблем, обсужденных ниже, Вы будет должен
установить ваши собственные программы маршрутизации.
Возможно самые плохие проблемы возникают, когда ваш host живет
в двойной области, и с телефонным вызовом по номеру IP и со связями
UUCP. smail будет пытаться передавать любую почту через SMTP. Это -
обычно не, что Вы хотите, потому что, даже если связь SLIP
активизирована регулярно, SMTP - намного медленнее чем посылка
почты над UUCP. С заданной по умолчанию установкой, не имеется
никакого способа выйти из smail.
Вы можете избегать этой проблемы при наличии проверки файла
путей перед запросом решающего устройства, и помещении всех
необходимых главных ЭВМ в файл путей. Если Вы не хотите посылать
сообщения над SMTP когда-либо, Вы можете также закомментировать
решающие рограммы маршрутизации в целом.
Другая проблема состоит в том, что заданная по умолчанию
установка не обеспечивает истинную маршрутизацию почты Internet,
потому что решающая программа маршрутизации не оценивает записи
MX. Чтобы давать возможность полной поддержке маршрутизации
почты Internet, прокомментируйте эту программу маршрутизации, и
разкомментируйте ту что используется BIND взамен. Имеются, однако,
smail binaries включенные в некоторые распределения Linux, которые не
имеют поддержки BIND. Если Вы даете возможность BIND, но
получаете сообщение в paniclog файле, говорящее "программа
маршрутизации inet hosts: драйвер связи не найден'', тогда Вы должны
получить исходники и перетранслировать smail (см. раздел 15.2 выше).
В заключение, это вообще не очень хорошая идея - использовать
uuname драйвер.
15.7.1 База данных путей
Smail ожидает находить pathalias базу данных в файле путей в
/usr/lib/smail. Этот файл необязателен, так если Вы не хотите выполнять
любой pathalias вообще, просто удалите любой существующий файл
путей.
Paths должен быть сортируемый файл ASCII, который содержит
входы, которые отображают имена пункта адресата UUCP. Файл
должен сортироваться, потому что smail использует двоичный поиск
пункта. Комментарии не позволяются в этом файле, и имя пункта
должно отделиться от пути, используя МЕТКУ ТАБУЛЯЦИИ. Pathalias
базы данных обсуждены подробнее в главе 14 ..
Если Вы генерируете этот файл вручную, Вы должен
удостовериться, чтобы включить все допустимые имена для пункта.
Например, если пункт известен и простым именем UUCP и полностью
квалифицированным именем области, Вы должны добавить вход для
каждого из них. Файл может сортироваться конвейерной пересылкой
его через команду sort.
Если ваш пункт является только пунктом листа, то никакой файл
paths, не должен быть необходим вообще: только установите атрибуты
smart host в вашем файле конфигурации, и оставьте всю маршрутизацию
вашей подаче почты.
15.8 Поставка Сообщений Локальным Адресам
Обычно, локальный адрес - только имя входа в систему
пользователя, когда сообщение передается в его mailbox,
/var/spool/mail/user. Другие случаи включают отправку по почте списка
имен, и пересылку почты пользователем. В этих случаях, локальный
адрес расширяется до нового списка адресов, которые могут быть или
локальны или отдаленны.
Кроме этих "нормальных" адресов, smail может обрабатывать другие
типы локальных адресатов сообщения, подобно именам файла, и
командам трубопровода. Они - не адреса, так что Вы не можете
посылать почте на /etc/passwd@vbrew.com.
Имя файла - что-нибудь, что начинается с наклонной черты вправо
(/) или тильды (~). Письмо относится к исходному каталогу
пользователя, и возможно только, если имя файла принималось из a
.forward файл или вход пересылки в mailbox (см. ниже). При поставке
файла, smail конкатенирует сообщения к файлу, создавая его в случае
необходимости.
Командой трубопровода может быть любая команда Unix, которой
предшествует символ трубопровода (|). Это заставляет smail вручать
команду оболочке наряду с аргументами, но без подачи " | ". Сообщение
непосредственно будет подано этой команде на стандартном вводе.
Например, чтобы отправить почту в локальную newsgroup, Вы
могли бы использовать команду оболочки, именованную gateit, и
устанавливать локальный результат, который передает все сообщения
из этого списка в команду, используя " | gateit ".
Если вызов содержит незаполненное пространство, он должен быть
включен в двойные кавычки. Из-за проблем защиты команда не
выполняется, если адрес был получен несколько сомнительным
способом (например, если файл, из которого адрес принимался, был
перезаписываем каждым).
15.8.1 Локальные Пользователи
Наиболее общий случай для локального адреса - обозначить mailbox
пользователя. Этот mailbox - локализовался /var/spool/mail, и имеет имя
пользователя. Если он не существует, он создан smail.
Обратите внимание, что, хотя /var/spool/mail - в настоящее время
стандартное место, чтобы поместить mailbox файлы, некоторое
программное обеспечение почты может иметь другой paths,
компилируемый в, например /usr/spool/mail.
Имеются два адреса которые требуются smail: mailer - daemon и
Постмастер. При производстве сообщения удара для почты undeliverable,
машинописная копия послана постмастеру объяснение исследования (в
случае, если это могло бы быть из-за проблемы конфигурации). Mailer -
daemon используется как адрес отправителя для сообщения удара.
Если эти адреса не называют допустимые счета на вашей системе,
smail неявно отображает mailer - daemon как postmaser, и постмастера как
root, соответственно. Вы должны обычно отменять это совмещением
имени постмастера с тем, кто является ответственным за поддержание
программного обеспечения почты.
15.8.2 Пересылки
Пользователь может переназначать почту посылая ее к
альтернативному адресу, используя один из двух методов,
обеспечиваемых smail. Одна опция должна поместить
Forward to recipient,...
в первой строке ее mailbox файла. Это пошлет всей входящей почте
заданному списку получателей. В качестве альтернативы, она могла бы
создавать a .forward файл в ее исходном каталоге, который содержит
отделенный запятой список получателей. С этим разнообразием
пересылки, все строки файла читаются и интерпретируются.
Обратите внимание, что любой тип адреса может использоваться.
Таким образом, практический пример .forward файла мог бы быть
janet, "|vacation"
Первый адрес передает входящее сообщение mailbox janet, в то время
как команда vacation возвращает короткое уведомление отправителю.
15.8.3 Специальные Файлы
Smail способен обработать специальные файлы, совместимые с теми
что известны sendmail Berkeley. Входы в специальном файле могут
иметь форму
alias: recipients
recipients - отделенный запятой список адресов, которые будут
заменяться специально. Список получателей может быть продолжен
через символы перевода строки, если следующая строка начинается с
МЕТКИ ТАБУЛЯЦИИ.
Имеется специальная возможность, которая позволяет smail
обрабатывать списки отправки по почте из специального файла: если
Вы определяете ":include:filename" как получателя, smail будет читать
заданный файл, и применять содержимое как список получателей.
Основной файл побочных результатов исследования - /usr/lib/aliases.
Если Вы сделаете этот файл всемирно - перезаписываемым, smail не
будет передавать сообщения командам оболочки, данным в этом файле.
Типовой файл показывается ниже:
# vbrew.com /usr/lib/aliases file hostmaster: janet
postmaster: janet
usenet: phil
# The development mailing list. development: joe, sue, mark, biff
/var/mail/log/development
owner-development: joe
# Announcements of general interest are mailed to all # of the staff
announce: :include: /usr/lib/smail/staff, /var/mail/log/announce
owner-announce: root
# gate the foobar mailing list to a local newsgroup ppp-list: "|/usr/local/lib/gateit
local.lists.ppp"
Если ошибка происходит при ипользовании адреса,
сгенерированного из специального файла, smail будет пытаться
посылать копию сообщения об ошибках к "специальному владельцу''.
Если адрес владельца не существует, никакое дополнительное
сообщение об ошибках не будет сгенерировано.
15.8.4 Списки Отправки по почте
Вместо того, чтобы использовать специальный файл, чтобы
отправить по почте по списку можно также управляться посредством
файлов в каталоге /usr/lib/smail/lists. Список отправки по почте,
именованный nag-bugs описан как lists/nag-bugs, должен содержать
адреса элементов, отделяемые запятыми. Список может быть дан на
нескольких строках, с комментариями.
Для каждого списка отправки по почте, пользователь именованный
владельцем - listname должен существовать; любое появление ошибок
при применени адреса будет сообщено этому пользователю. Этот адрес
также используется как адрес отправителя на всех исходящих
сообщений в Sender: поле заголовка.
15.9 UUCP-Транспорт
Имеется ряд транспортировщиков, компилируемых в smail, которые
используют UUCP набор программ. В UUCP среде, сообщения обычно
передаются, вызывая rmail на следующем host, давая ему сообщение на
стандартном вводе и адрес конверта в командной строке. На вашем
host, rmail должен быть связан с командой smail.
При вручении сообщения на UUCP транспорт, smail
преобразовывает целевой адрес в путь удара UUCP. Например,
user@host будет преобразован host!user. Любое местонахождение " % "
оператора адреса сохраняется, так что user%host@gateway станет
gateway!User%host. Однако, smail никогда не будет генерировать такие
адреса самостоятельно.
В качестве альтернативы, smail может посылать и получать BSMTP
пакеты через UUCP. В BSMTP один или большее количество
сообщений передаются в одиночном пакете, который содержит
команды, которые локальный mailer выдал бы, если бы реальное SMTP
соединение имело место. BSMTP часто используется с промежуточным
накоплением, чтобы сохранить дисковое пространство. Типовой файл
транспорта в приложении 20.3 содержит транспорт dubbed bsmtp
который генерирует частичные BSMTP пакеты в каталоге очередей.
Они должны быть объединены в конечные пакеты позже, при
использовании команды оболочки, которая добавляет
соответствующую команду HELO и QUIT.
Чтобы давать возможность bsmtp транспорту для специфических
связей UUCP, Вы должны использовать так называемые файлы метода
(пожалуйста обратитесь к smail странице руководства для
подробностей). Если Вы имеете только одну связь UUCP, и используете
программу маршрутизации smart host, Вы даете возможность посылать
SMTP пакеты, устанавливая интеллектуальную транспортную
переменную конфигурации как bsmtp вместо uux.
Чтобы получать SMTP пакеты над UUCP, Вы должны
удостовериться, что Вы имеете команду распакетирования. Если
отдаленный пункт использует smail, Вы должны связать rsmtp с smail.
Если отдаленный пункт выполняет sendmail, Вы должны
дополнительно установить команду оболочки, именованную
/usr/bin/bsmtp, которая делает простой "запуск rsmtp".
15.10 SMTP-Транспорт
Smail в настоящее время поддерживает SMTP драйвер, чтобы
передавать почту по TCP соединениям. Это дает возможность посылки
сообщения любому числу адресов на одиночном host, с hostname,
определяемым или как полностью квалифицированное имя области
которое может быть использовано программным обеспечением работы
с сетями, или в точечной записи четверки, включенной в квадратные
скобки. Вообще, адреса, решенные любым BIND, gethostbyname или
gethostbyaddr драйверов программы маршрутизации будут переданы на
SMTP транспорт.
SMTP драйвер будет пытаться соединяться с отдаленным host
немедленно через smtp порт как перечислено в /etc/services. Если это не
может быть достигнуто, или соединение прерывается, оно будет
повторно предпринято в более позднее время.
Получение на Internet требует, чтобы маршруты до host адресата
были определены в формате адрес-маршрут, описанном в главе 14, а не
как путь удара. smail будет следовательно трансформировать
user%host@gateway, где gateway достигнут через host1!host2!host3, по
адресу исходного маршрута < @host2,@host3:user%host@gateway >,
который будет послан как конверт, адресованный host1. Чтобы давать
возможность этому преобразованию (наряду с встроенным драйвером
BIND), Вы должны редактировать вход для smtp драйвера в файле
transports. Типовой файл transports дан в Приложении 20.3.
15.11 Квалификация Hostname
Иногда желательно захватить неквалифицированные hostname (то
есть те, которые не имеют имени области) заданные в адресе
отправителя или получателя, например при переходе между двумя
сетями, где каждая требует полностью квалифицированных имен
области. На Internet -UUCP реле, такие hostname должны быть
отображены в uucp область по умолчанию. Другие изменения адреса
сомнительны.
Файл /usr/lib/smail/qualify сообщает smail, которая область определяет
путь на который hostname. Входы в файле qualify состоят из hostname в
перевом столбце, сопровождаемым именем области. Строки,
содержащие знак мусора как первый символ рассматриваются
комментариями. Входы ищутся в порядке, в котором они появляются.
Если никакого файла qualify не существует, никакая hostname
квалификация не выполняется вообще.
Специальный hostname * соответствует любому hostname, таким
образом допуская Вам отобразить все главные ЭВМ, не упомянутые
прежде в заданную по умолчанию область. Это должно использоваться
только как последний вход.
В Виртуальном Пивоваренном заводе, все главные ЭВМ были
установлены так, чтобы использовать полностью квалифицированные
имена области в адресах отправителя. Неквалифицированные адреса
получателя, как рассматривается, находятся в uucp области, так что
необходим только одиночный вход в файле qualify.
# /usr/lib/smail/qualify, last changed Feb 12, 1994 by janet
#
* uucp
16. Sendmail + IDA
16.1 Введение в Sendmail + IDA
Уже упоминалось, что Вы не реальный администратор системы
Unix, пока вы не редактировали sendmail.cf файл. Также скажут что вы
сумасшедший, если вы попытаетесь сделать это дважды :-)
Sendmail - невероятно мощная программа. Также невероятно трудно
узнавать и понимать ее для большинства людей. Любая программа, чье
окончательное руководство (Sendmail, изданный O'Reilly and Associatеs)
состоит из 792 страниц, отпугивает большинство людей.
Sendmail + IDA - это другое. Это удаляет потребность редактировать
всегда загадочный sendmail.cf файл и позволяет администратору
определять пункт-специфическую маршрутизацию и конфигурацию
адресации через относительно простые для понимания файлы
поддержки, называемые таблицами. sendmail + IDA может сохранять
Вам много часов работы и спокойствия.
Сравниваясь с другими главными средствами транспорта почты, не
имеется ничего, что не может быть выполнено быстрее и проще с
sendmail + IDA. Типичные вещи, которые необходимы, чтобы
реализовать UUCP или Internet узел, станут простыми для выполнения.
Конфигурации, которые обычно являются чрезвычайно трудными,
просто создавать и поддержать.
В этой запииси, текущая версия sendmail5.67b + IDA1.5 доступен
через анонимный FTP из vixen.cso.uiuc.edu. Она компилируется без
любого внесения исправлений, требуемого под Linux.
Все файлы конфигурации, требуемые, чтобы получить исходники
sendmail + IDA, чтобы компилировать, устанавливать, и выполнять под
управлением Linux включены в newspak-2.2.tar.gz, который является
доступным через анонимный FTP на sunsite.unc.edu в каталоге
/pub/Linux/system/Mail.
16.2 Файлы Конфигурации --- Краткий обзор
Традиционный sendmail установлен через файл конфигурации
системы (обычно /etc/sendmail.cf или /usr/lib/sendmail.cf), который - не
относится к любому языку, который вы видели прежде.
Редактирование sendmail.cf файла, чтобы обеспечить настроенное
поведение может быть хорошим опытом.
Sendmail + IDA делает такую работу по существу делом прошлого
при наличии всех опций конфигурации, с формированием
изображений при помощи таблицы с довольно простым, чтобы понять
синтаксис. Эти опции конфигурируются, выполнением m4
(процессора макркоманд) или dbm (процессора базы данных) в ряде
файлов данных через Make-файлы, обеспеченные исходниками.
Sendmail.cf файл определяет только заданное по умолчанию
поведение системы. Виртуально вся специальная настройка выполнена
через ряд необязательных таблиц а не непосредственно редактируя
sendmail.cf файл.
16.3 Sendmail.cf Файл
Sendmail.cf файл для sendmail + IDA не редактируется
непосредственно, а генерируется из m4 файла конфигурации,
обеспеченного локальным администратором системы. В следующем,
мы обратимся к нему как к sendmail.m4.
Этот файл содержит несколько определений и иначе просто
указывает на таблицы, где выполняется реальная работа. Вообще,
необходимо определить только:
+ Имена путей и имена файлов, используемые в локальной системе.
+ Имена пункта электронной почты.
+ Который заданный по умолчанию mailer (и возможно smart host)
желателен.
Имеется большое разнообразие параметров, которые могут быть
определены, чтобы установить поведение локального пункта сети. Эти
опции конфигурации идентифицированы в файле ida/cf/OPTIONS в
исходном каталоге.
Файл sendmail.m4 для минимальной конфигурации (UUCP или
SMTP со всей не-локальной почтой, передаваемой непосредственно
соединенному smart-host) может быть в 10 или 15 строк, исключая
комментарии.
Mailertable определяет специальное поведение для отдаленных главных
ЭВМ или областей.
Uucpxtable включает получение почты UUCP на главные ЭВМ, которые
находятся в формате DNS.
Pathtable определяет UUCP пути на отдаленные главные ЭВМ или
области.
Uucprelays замыкает pathalias путь на общеизвестные отдаленные
главные ЭВМ.
Genericfrom преобразовывает внутренние адреса в обобщенные,
видимые внешнему миру.
Xaliases преобразовывает обобщенные адреса на\из допустимых
внутренних.
Decnetxtable преобразовывает RFC-822 адреса в адреса DECnet-стиля.
16.3.1 Пример Файла Sendmail.m4
Файл sendmail.m4 для vstout на Виртуальном Пивоваренном заводе
показывается ниже. Vstout использует SMTP, чтобы разговаривать со
всеми главными ЭВМ на LAN Пивоваренного завода, и посылает всю
почту для других адресатов к moria, host реле Internet, через UUCP.
16.3.2 Обычно Используемые sendmail.m4 Параметры
Нескоторые предметы в файле sendmail.m4 требуются всегда; другие
могут игнорироваться, если Вы можете избежать неприятностей со
значениями по умолчанию. Следующие разделы описывают каждые из
предметов в файле sendmail.m4 более подробно.
dnl #------------------ SAMPLE SENDMAIL.M4 FILE ------------------
dnl # (the string 'dnl' is the m4 equivalent of commenting out a line)
dnl # you generally don't want to override LIBDIR from the compiled in paths
dnl #define(LIBDIR,/usr/local/lib/mail)dnl # where all support files go
define(LOCAL MAILER DEF, mailers.linux)dnl # mailer for local delivery
define(POSTMASTERBOUNCE)dnl # postmaster gets bounces
define(PSEUDODOMAINS, BITNET UUCP)dnl # don't try DNS on these
dnl #-------------------------------------------------------------
dnl #
define(PSEUDONYMS, vstout.vbrew.com vstout.UUCP vbrew.com)
dnl # names we're known by
define(DEFAULT HOST, vstout.vbrew.com)dnl # our primary 'name' for
mail
define(UUCPNAME, vstout)dnl # our uucp name
dnl #
dnl #-------------------------------------------------------------
dnl #
define(UUCPNODES, |uuname|sort|uniq)dnl # our uucp neighbors
define(BANGIMPLIESUUCP)dnl # make certain that uucp
define(BANGONLYUUCP)dnl # mail is treated correctly
define(RELAY HOST, moria)dnl # our smart relay host
define(RELAY MAILER, UUCP-A)dnl # we reach moria via uucp
dnl #
dnl #--------------------------------------------------------------------dnl #
dnl # the various dbm lookup tables
dnl #
define(ALIASES, LIBDIR/aliases)dnl # system aliases
define(DOMAINTABLE, LIBDIR/domaintable)dnl # domainize hosts
define(PATHTABLE, LIBDIR/pathtable)dnl # paths database
define(GENERICFROM, LIBDIR/generics)dnl # generic from addresses
define(MAILERTABLE, LIBDIR/mailertable)dnl # mailers per host or
domain
define(UUCPXTABLE, LIBDIR/uucpxtable)dnl # paths to hosts we feed
define(UUCPRELAYS, LIBDIR/uucprelays)dnl # short-circuit paths
dnl #
dnl #--------------------------------------------------------------------dnl #
dnl # include the 'real' code that makes it all work
dnl # (provided with the source code)
dnl #
include(Sendmail.mc)dnl # REQUIRED ENTRY !!!
dnl #
dnl #------------ END OF SAMPLE SENDMAIL.M4 FILE -------
16.3.2.1 Предметы, которые Определяют Пути
dnl #define(LIBDIR,/usr/local/lib/mail)dnl # where all support files go
LIBDIR определяет каталог, где sendmail + IDA ожидает находить
файлы конфигурации, различные dbm таблицы, и специальные
локальные определения. В типичном двоичном распределении, это
компилируется в sendmail binary и не должно быть явно установлено в
файле send-mail.m4.
Вышеупомянутый пример содержит dnl, который означает что эта
строка - по существу только для уточнения инфрмации комментария.
Чтобы изменить расположение файлов поддержки на другое,
удалите dnl из вышеупомянутой строки, установите путь к
желательному расположению, и восстановите, и повторно установите
sendmail.cf файл.
16.3.2.2 Определение Локального Mailer'а
define(LOCAL MAILER DEF, mailers.linux)dnl # mailer for local delivery
Большинство операционных систем обеспечивает программу для
обработки локального получения почты. Программы такого рода для
многих из главных вариантов Unix уже встроены в sendmail binary.
В Linux, необходимо явно определить соответствующий локальный
mailer, так как такая локальная программа не обязательно предоставлена
в распределении, которое вы установили. Это определяется LOCAL
MAILER DEF в файле sendmail.m4.
Например, можно установить LOCAL MAILER DEF как mailers.linux.
Следующий файл должен то быть установлен как mailers.linux в
каталоге, указанном LIBDIR. Это явно определяет программу в Mlocal
mailer с соответствующими параметрами, чтобы sendmail правильно
принимал почту, направленную для локальной системы.
Если Вы не эксперт sendmail, Вы возможно не захотите изменять
следующий пример.
# -- /usr/local/lib/mail/mailers.linux --
# (local mailers for use on Linux )
Mlocal, P=/usr/bin/deliver, F=SlsmFDMP, S=10, R=25/10, A=deliver $u
Mprog, P=/bin/sh, F=lsDFMeuP, S=10, R=10, A=sh -c $u
Имеется также встроенное значение по умолчанию для deliver в
Sendmail.mc файле, который включается в файл sendmail.cf. Чтобы
определить его, Вы не должны использовать mailers.linux файл и взамен
определить следующее в вашем файле sendmail.m4:
dnl --- (in sendmail.m4) ---
define(LOCAL MAILER DEF, DELIVER)dnl # mailer for local delivery
К сожалению, Sendmail.mc принимает, что deliver установлен в /bin,
что не так в Slackware1.1.1 (который устанавливает это в /usr/bin). В том
случае вы нуждаетесь в фальшивке со связью или переустановить deliver
из исходников в /bin.
16.3.2.3 Обработка Bounced-почты
define(POSTMASTERBOUNCE)dnl # postmaster gets bounces
Многие абоненты находят, что важно гарантировать, что бы почта
посылалась и получалась с гарантией 100 %. При исследовании sys-logd
файлов регистрации полезен локальный администратор почты чтобы
определить, была ли почта испорчена из-за ошибки пользователя или
ошибки конфигурации на одной из включаемых систем.
Определение POSTMASTERBOUNCE приводит к копии каждого
плохого сообщения человеку, определенному как Постмастер системы.
К сожалению, установка этого параметра также приводит к
рассекречиванию текста сообщения, посылаемого Постмастеру.
16.3.2.4 Возможности Имени Области
define(PSEUDODOMAINS, BITNET UUCP)dnl # don't try DNS on
these
Имеются отдельные известные сети, которые обычно указаны в
адресах почты по историческим причинам, но это не допустимо для
целей DNS. Определение PSEUDODOMAINS предотвращает
бесполезные DNS попытки поиска, которые будут всегда терпеть
неудачу.
16.3.2.5 Определение Локальной Системы
define(PSEUDONYMS, vstout.vbrew.com vstout.UUCP vbrew.com)dnl #
names we're known by
define(DEFAULT HOST, vstout.vbrew.com)dnl # our primary 'name' for mail
Часто, системы желают скрыть их истинное тождество, и служат
как ворота почты, или получатют и обрабатывают почту, адресованную
на " старые " имена.
PSEUDONYMS определяет список всех hostname, для которых
локальная система примет почту.
DEFAULT HOST определяет hostname, который появится при
возникновении сообщений на локальном host.
16.3.2.6 Uucp-зависимые Аспекты
define(UUCPNAME, vstout)dnl # our uucp name
define(UUCPNODES, |uuname|sort|uniq)dnl # our uucp neighbors
define(BANGIMPLIESUUCP)dnl # make certain that uucp
define(BANGONLYUUCP)dnl # mail is treated correctly
Часто, системы известны под одним именем для целей DNS и
другим для целей UUCP. UUCPNAME разрешает Вам определять
различные hostname, которые появляются в заголовках выхода почты
UUCP.
UUCPNODES определяет команды, которые возвращают список
hostnames для систем, с которыми мы соединены непосредственно с
через UUCP соединения.
BANGIMPLIESUUCP и BANGONLYUUCP гарантирует, что почта,
адресованная с UUCP синтаксисом обрабатывается согласно UUCP, а
не более современному DNS, используемому сегодня в Internet.
16.3.2.7 Relay-Системы и Mailer'ы
define(RELAY HOST, moria)dnl # our smart relay host
define(RELAY MAILER, UUCP-A)dnl # we reach moria via UUCP
RELAY HOST определяет UUCP hostname интеллектуальной соседней
системы (способной послать почты в любую сеть мира).
RELAY MAILER определяет mailer, используемый, чтобы передать туда
сообщения.
Важно обратить внимание, что устанавливающий эти параметры
приводит к посылке вашей почты к этой отдаленной системе, которая
будет воздействовать на загрузку их системы. Убедитесь, что вы
получили явное соглашение отдаленного Постмастера прежде, чем Вы
конфигурируете вашу систему, чтобы использовать другую систему как
универсальный relay host.
16.3.2.8 Различные Таблицы Конфигурации
define(ALIASES, LIBDIR/aliases)dnl # system aliases
define(DOMAINTABLE, LIBDIR/domaintable)dnl # domainize hosts
define(PATHTABLE, LIBDIR/pathtable)dnl # paths database
define(GENERICFROM, LIBDIR/generics)dnl # generic from addresses
define(MAILERTABLE, LIBDIR/mailertable)dnl # mailers per host or
domain
define(UUCPXTABLE, LIBDIR/uucpxtable)dnl # paths to hosts we feed
define(UUCPRELAYS, LIBDIR/uucprelays)dnl # short-circuit paths
С этими макркомандами, Вы можете изменять расположение, где
sendmail + IDA ищет различные dbm таблицы, которые определяют
поведение системы. Вообще нужно оставить их в LIBDIR.
16.3.2.9 Главный Файл Sendmail.mc
include(Sendmail.mc)dnl # REQUIRED ENTRY !!!
Авторы sendmail + IDA обеспечивают файл Sendmail.mc, который
содержит "внутренности" того, что становится файлом sendmail.cf.
Периодически выпускаются новые версии, чтобы установить ошибки
или добавлить функциональные возможности без полного выпуска и
перетрансляции sendmail из исходников.
Важно не редактировать этот файл.
16.3.2.10 Так которые Входы Действительно требуются?
Если не используются dbm таблицы, sendmail + IDA передает почту
через DEFAULT MAILER (и возможно RELAY HOST и RELAY
MAILER) определенный в файле sendmail.m4, используемом, чтобы
генерировать sendmail.cf. Легко можно отменить это поведение через
входы в domaintable или uucpxtable.
Виртуально все системы должны установить DEFAULT HOST,
макркоманды PSEUDONYMS, которые определяют каноническиое имя
пункта, и DEFAULT MAILER. Если все что Вы имеете - это relay host и
relay mailer, Вы не должны устанавлвать эти значения по умолчанию,
так как это работает автоматически.
UUCP главные ЭВМ будут возможно также должны установить
UUCPNAME как их официальное имя UUCP. Они также возможно
установят RELAY MAILER, и RELAY HOST, которые дают
возможность маршрутизации smart-host через relay почту. Транспорт
почты, который нужно использовать определен в RELAY MAILER и
должен обычно быть UUCP-A для UUCP абонента.
Если ваш пункт только SMTP и использует "Domain Name Service ",
Вам следует заменить DEFAULT MAILER на TCP-A и возможно
удалить СТРОКИ RELAY HOST и RELAY MAILER.
16.4 Просмотр Sendmail + IDA Таблиц
Sendmail + IDA обеспечивает ряд таблиц, которые позволяют Вам
отменять заданное по умолчанию поведение sendmail (заданное в файле
sendmail.m4) и определять специальное поведение для уникальных
ситуаций, отдаленных систем, и Сетей. Эти таблицы обрабатываются
dbm используя Make-файл, обеспеченный распределением.
Большинство абонентов будет нуждаться в некоторых из этих
таблиц. Если ваш пункт не требует этих таблиц, самая простая вещь,
возможно, сделать их файлами нулевой длины (командой touch) и
использовать заданный по умолчанию Make-файл в LIBDIR, а не
редактировать Make-файл непосредственно.
16.4.1 Mailertable
Mailertable определяет специальное обращение для специфических
главных ЭВМ или областей, основанных на отдаленном host или
сетевом имени. Это часто используется на абоненте Internet, чтобы
выбрать промежуточный relay host для почты или gateway, чтобы
достигнуть отдаленной сети, и определить специфический протокол
(UUCP или SMTP). UUCP абонент вообще не должен использовать
этот файл.
Порядок важен. Sendmail читает файл, нисходяще и обрабатывает
сообщения согласно первому правилу, которому оно соответствует. Так
что вообще нужно поместить наиболее явные правила наверху файла и
более обобщенных правил ниже.
Предположите, что Вы хотите направлять всю почту для отделения
Информатики в Университете Groucho Marx через UUCP relay host ada.
Чтобы сделать так, Вам нужен пункт в mailertable, который походит на
следующее:
# (in mailertable)
#
# forward all mail for the domain .cs.groucho.edu via UUCP to ada UUCP-
A,ada .cs.groucho.edu
Предположите, что Вы хотите чтобы вся почта к groucho.edu
области шла к другому relay host - bighub. Расширенные входы mailertable
выглядели бы подобно:
# (in mailertable)
#
# forward all mail for the domain cs.groucho.edu via UUCP to ada UUCP-A,ada
.cs.groucho.edu
#
# forward all mail for the domain groucho.edu via UUCP to bighub UUCP-
A,bighub .groucho.edu
Как упомянуто выше, порядок важен. Реверсирование порядка из
двух правил, показанных выше приводит к передаче всей почты к
.cs.groucho.edu через более обобщенный bighub путь вместо явного ada
пути, который действительно желателен.
# (in mailertable)
#
# forward all mail for the domain .groucho.edu via UUCP to bighub UUCP-
A,bighub .groucho.edu
#
# (it is impossible to reach the next line because
# the rule above will be matched first)
UUCP-A,ada .cs.groucho.edu
#
В примерах mailertable выше, UUCP-A mailer заставит sendmail
использовать UUCP получение с заголовками области.
Запятая между mailer'ом и отдаленной системой сообщает о
передаче сообщения к ada для получения.
Mailertable входы(пункты) имеют формат:
mailer delimiter relayhost host or domain
Имеется ряд возможных mailer'ов. Различия - вообще в том, как они
обрабатывают адреса. Типичные mailer'ы - TCP-A (TCP/IP с адресами -
стиля Internet), TCP-U (TCP/IP с адресами uucp-стиля), и UUCP-A
(UUCP с адресами -стиля Internet).
Символ, который отделяет mailer от host слева в строке mailertable,
определяет, как адрес изменяется mailertable.
! Отметка восклицания удаляет hostname получателя перед пересылкой
к mailer'у. Это может использоваться, когда Вы хотите послать почту в
неконфигурированный отдаленный пункт.
, Запятая не изменяет адрес всегда. Сообщение просто будет послано
через заданный mailer заданному relay host.
: Двоеточие удаляет hostname получателя только, если имеются
промежуточные главные ЭВМ между Вами и адресатом. Таким образом
из foo!bar!Joe будет удален foo, в то время как xyzzy!Janet останется
неизменным.
16.4.2 Uucpxtable
Обычно, почта на главные ЭВМ с полностью
квалифицированными именами области передается в стиле Internet
(SMTP), используя Domain Name Service (DNS), или через relay host.
Uucpxtable вынуждает получение через маршрутизацию UUCP,
преобразуя имя в отдаленный hostname UUCP-стиля.
Это часто используется, когда ваш узел служит для продвижения
данных почты для пункта или области или когда Вы желаете послать почту
через прямую и надежную связь UUCP, а не через множество абонентов через
заданный по умолчанию mailer и любые промежуточные системы и сети.
Абоненты UUCP, которые разговаривают с соседями по UUCP, которые
используют заголовки почты с определенным именем области, использовали
бы этот файл, чтобы вынудить получение почты через прямую UUCP
двухточечную связь между двумя системами, а не использовали бы менее
прямой маршрут через RELAY MAILER и RELAY HOST или через DEFAULT
MAILER.
Абонент Internet, который не входит в UUCP может не использовать
uucpxtable.
Предположите, что Вы обеспечиваете обслуживание пересылки почты к
системе, называемой sesame.com в DNS и sesame в картах UUCP. Вы
нуждались бы в следующем входе uucpxtable, чтобы вынудить почту для их host
пройти через ваше прямое соединение UUCP.
#============== /usr/local/lib/mail/uucpxtable ============
# Mail sent to joe@sesame.com is rewritten to sesame!joe and
# therefore delivered via UUCP
#
sesame sesame.com
#
#----------------------------------------------------------
16.4.3 pathtable
Pathtable используется, чтобы определить явную маршрутизацию на
отдаленные главные ЭВМ или сети. Файл pathtable должен быть в синтаксисе
pathalias-стиля, сортируемом в алфавитном порядке. Два поля на каждой строке
должны отделиться реальной МЕТКОЙ ТАБУЛЯЦИИ.
Большинство систем не будет нуждаться в любых входах pathtable.
#=============== /usr/local/lib/mail/pathtable ================
#
# this is a pathalias-style paths file to let you kick mail to
# UUCP neighbors to the direct UUCP path so you don't have to
# go the long way through your smart host that takes other traffic
#
# you want real tabs on each line or m4 might complain
#
# route mail through one or more intermediate sites to a remote
# system using UUCP-style addressing.
#
sesame!ernie!%s ernie
#
# forwarding to a system that is a UUCP neighbor of a reachable
# internet site.
#
swim!%s@gcc.groucho.edu swim
#
# The following sends all mail for two networks through different
# gateways (see the leading '.' ?).
# In this example, "uugate" and "byte" are specific systems that serve
# as mail gateways to the .UUCP and .BITNET pseudo-domains respectively
#
%s@uugate.groucho.edu .UUCP
byte!%s@mail.shift.com .BITNET
#
#=================== end of pathtable =======================
16.4.4 domaintable
Domaintable вообще используется, чтобы вынудить некоторое поведение
после того, как поиск DNS произошел. Это разрешает администратору делать
короткие имена доступными для обычно вызываемых систем или областей,
заменяя такое имя на соответствующее автоматически. Это может также
использоваться, чтобы заменить неправильный host или имена области на "
правильные ".
Большинство абонентов не будет нуждаться в любых входах domaintable.
Следующий пример показывает, как заменить неправильные адреса на
правильный адрес:
#============= /usr/local/lib/mail/domaintable =================
#
#
brokenhost.correct.domain brokenhost.wrong.domain
#
#
#=================== end of domaintable ========================
16.4.5 aliases
Aliases(специальные возможности) разрешают ряд вещей:
+ Они обеспечивают короткое имя или общеизвестное имя для почты, которая
будет адресована к одному или большому количеству людей.
+ Они вызывают программу с сообщением почты как ввод для программы.
+ Они посылают почту в файл.
Все системы требуют aliases для Постмастера.
Всегда чрезвычайно важна защита при определении aliases, которые
вызывают программы или запись к программам, так как sendmail вообще
выполняет setuid-root.
Изменения в файле aliases, не воздействуют до команды
# /usr/lib/sendmail -bi
выполняемой, чтобы формировать требуемые dbm таблицы. Это может также
быть выполнено, выполняя команду newaliases, обычно из cron.
#--------------------- /usr/local/lib/mail/aliases ------------------
#
# demonstrate commonly seen types of aliases
#
usenet: janet # alias for a person
admin: joe,janet # alias for several people
newspak-users: :include:/usr/lib/lists/newspak
# read recipients from a file changefeed: | /usr/local/lib/gup
# alias that invokes a program
complaints: /var/log/complaints
# alias that writes mail to a file
#
# The following two aliases must be present to be RFC-compliant.
# It is important to have them resolve to 'a person'
# who reads mail routinely.
#
postmaster: root # required entry
MAILER-DAEMON: postmaster # required entry
#
#-------------------------------------------------------------------
16.4.6 Редко Используемые Таблицы
Следующие таблицы доступны, но довольно нечасто используются.
Консультируйтесь с документацией, которая приходит с sendmail + IDA для
подробностей.
Uucprelays Файл uucprelays используется для определения " короткого " пути
UUCP к особенно хорошо известному абоненту, а не используя путь через ряд
host или ненадежный путь, сгенерированный, обрабатывая карты UUCP с
pathalias.
Genericfrom и xaliases Файл genericfrom скрывает локальные usernames и адреса
от внешнего мира, автоматически преобразуя(конвертируя) локальные
usernames в обобщенные адреса отправителя, которые не соответствуют
внутреннему usernames.
Связанная утилита xalparse автоматизирует порождение файла genericfrom и
файла aliases так, чтобы и входящие и исходящие username трансляции
произошли из главного файла xaliases.
Decnetxtable перезаписывает адреса с определенным именем области в адреса
decnet-стиля, очень похоже на domaintable, может использоваться, чтобы
перезаписать адреса с не определенным именем области в адреса с
определенным именем области smtp-стиля.
Назад | Содержание | Вперед