Решения, основанные не на доставке по требованию (non dial-on-demand)

Написано Leif Erlingsson <leif@lege.com>.

Первоначальная версия этой части содержала много ненужного материала. Сейчас осталось только то, что требуется. Точно...

Запуск sendmail

В дистрибутиве Slackware: /etc/rc.d/rc.M:

echo "Starting sendmail daemon (/usr/sbin/sendmail -bd -os) [только режим с очередью]..."
/usr/sbin/sendmail -bd -os	#"Стандартные" параметры "-bd -q 15m", не используются!

В дистрибутиве RedHat: /etc/rc.d/init.d/sendmail.init:

echo -n "Starting sendmail: [только режим с очередью]"
daemon sendmail -bd -os		# Не запускайте: sendmail -bd -q1h

Параметр -os не слишком существенен, вот что он делает:

SuperSafe [s] Быть супер-надежным при запуске, другими словами,
	всегда требовать файл очереди, даже если
	Вы попытаетесь осуществить немедленную доставку.
	Sendmail всегда будет использовать файл очереди
	перед возвращением контроля клиенту в любых обстоятельствах
	Это должно всегда работать.

С другой стороны, в файле конфигурации sendmail.cf это является значением по умолчанию.

Конфигурирование sendmail

Серьезные пользователи sendmail для этой задачи используют файлы m4. Я рекомендую это решение, если в ваши планы входит последующее расширение (изменение) функциональности sendmail, а также все нетривиальные изменения sendmail.cf.

Если Вы никогда не собираетесь менять настройку sendmail для изменения заголовков писем, при том, что IP - адрес выделяется для Вас динамически или что-то в этом духе, то использование файлов m4 может быть для Вас необязательным.

Непосредственное конфигурирование sendmail.cf для простых конфигураций

Этот способ - экстремальный, по сравнению с использованием M4. Следующее решение работает только для sendmail-8.8.x.

Редактируем /etc/sendmail.cf:

# избегать соединения с "расходующей ресурсы" почтовой программой при начальной передаче?
O HoldExpensive=True

... ниже ...

#####  @(#)smtp.m4	8.33 (Berkeley) 7/9/96	#####

Msmtp,		P=[IPC], F=mDFMuXe, S=11/31, R=21, E=\r\n, L=990,
		T=DNS/RFC822/SMTP,
		A=IPC $h
Mesmtp,		P=[IPC], F=mDFMuXae, S=11/31, R=21, E=\r\n, L=990,
		T=DNS/RFC822/SMTP,
		A=IPC $h
Msmtp8,		P=[IPC], F=mDFMuX8e, S=11/31, R=21, E=\r\n, L=990,
		T=DNS/RFC822/SMTP,
		A=IPC $h
Mrelay,		P=[IPC], F=mDFMuXa8e, S=11/31, R=61, E=\r\n, L=2040,
		T=DNS/RFC822/SMTP,
		A=IPC $h

"e" - очень важный параметр. Не волнуйтесь, если вышеприведенные флаги отличаются от ваших. Сохраните свои параметры и просто добавьте к ним "e" так же, как это сделано в нашем примере. "e" - означает, что эта программа доставки почта является "расходующей ресурсы".

Конфигурирование sendmail.cf с использованием m4-файлов

Далее я, для простоты, буду предполагать, что версия вашего sendmail - 8.8.7. Если у вас другая версия, то замените 8.8.7 своим номером версии, но только если она не ниже! Для более старых версий наши инструкции срабатывать не будут. Установите самый новый sendmail!

Загрузите исходные тексты sendmail. Поищите в ``http://WWW.Sendmail.ORG'' или, возможно, в ``ftp.sendmail.org''.

Я также рекомендую вам установит мой патч для разрешения изменений псевдонимов и некоторых других полезных функций для того, чтобы у вас был полный контроль над почтовой средой.

Пошлите письмо по адресу ``Sendmail Patch <sendmail@lege.com>'' с темой ``sendmail-8.8.7'', если 8.8.7 - это ваша версия.

Эти патчи также можно найти на "http://www.lege.com"; там же есть и исходные sgml-версии этого mini-HOWTO!

Вы не должны устанавливать мои патчи для работы с "Queue Remote Mail + Deliver Local Mail". Мои патчи решают другие проблемы. Я просто подумал, что это хорошее место для их упоминания, так как множество пользователей Linux сочтет их очень удобными. (Они даже заставят работать должным образом виртуальные домены (virtual domains),. Виртуальные домены не должны быть "локальными". Они дадут Вам "xaliases", или другими словами, "обратное совмещение имен" ("reverse aliasing".))

Распакуйте исходные тексты sendmail. Вы получите /usr/src/sendmail-8.8.7/ или что-то подобное. Зайдите в каталог /usr/src/sendmail-8.8.7/cf

Сейчас используйте мой патч, если Вы этого хотите, иначе пропустите данный шаг: Если Вы не хотите использовать procmail в качестве локального агента доставки, сохраните /usr/src/sendmail-8.8.7/cf/ostype/linux.m4 перед следующим шагом... Запишите мой патч в "/tmp/sendmail-8.8.7-cf-cpio-idcmu.gz" и затем...
cd /usr/src/sendmail-8.8.7/cf
gzip -dc < /tmp/sendmail-8.8.7-cf-cpio-idcmu.gz | cpio -idcmu
Если Вы не хотите использовать procmail, перепишите обратно сохраненную копию /usr/src/sendmail-8.8.7/cf/ostype/linux.m4 .

Независимо от того, использовали ли Вы мои патчи или нет, Вам требуется убедиться в том, что к файлу /usr/src/sendmail-8.8.7/cf/cf/yourhostname.smtp.mc добавились следующие строки (или очень похожие на них) (но если Вы использовали мой патч, то можно исследовать файлы, содержащие в имени слово "elijah", в каталоге /usr/src/sendmail-8.8.7/cf):

dnl # Задерживать доставку через "расходнующую ресурсы" почтовую программу, если
dnl # очередь использует "O HoldExpensive=True", и пометить все
dnl # известные почтовые программы, как "расходующие".
dnl # (Смотрите книгу по "sendmail" Часть 30: Опции,
dnl # "Oc - не соединяться с расходующими ресурсы почтовыми программы", или
dnl # 2-е Издание  Часть 34.8.29,
dnl # "HoldExpensive (c), Очередь для расходующих ресурсы почтовых программ".)
dnl #				/ Leif Erlingsson <leif@lege.com>
define(`confCON_EXPENSIVE', `True')
define(SMTP_MAILER_FLAGS, e)
MAILER(local)dnl
MAILER(smtp)dnl

Поддержка меню

1.x версия этого текста содержала пункт 'Поддержка меню' для /var/X11R6/lib/fvwm/system.fvwmrc. В настоящем документе это опущено, однако эту информацию можно получить, написав по адресу:

``Menu support suggestions <fvwmrc@lege.com>'', Тема: ``Menu support suggestions''