relaydelay: wave goodbye

The article discusses a specific option for puremagic's greylisting.

- It tells users to install mysql40-server and perl5.16; neither of
  which exist any more.

- The last edit was 2015, by me, to switch from `pkg_add` to `pkg`.

- It encourages users to download code from a third-party website,
  without validation, via HTTP (not even HTTPS).

- The code itself has to be patched to compile

and more generally the FreeBSD project is not in the business of
teaching end users how to run an anti-spam mail server.

Discussed with:	allanjude
This commit is contained in:
Eitan Adler 2017-12-12 02:18:20 +00:00
parent 869a32c40a
commit d6dd221c5a
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=51293
9 changed files with 0 additions and 545 deletions

View file

@ -31,7 +31,6 @@ SUBDIR+= port-mentor-guidelines
SUBDIR+= pr-guidelines
SUBDIR+= problem-reports
SUBDIR+= rc-scripting
SUBDIR+= relaydelay
SUBDIR+= releng
SUBDIR+= remote-install
SUBDIR+= serial-uart

View file

@ -1,16 +0,0 @@
#
# $FreeBSD$
#
# Article: Using greylisting with FreeBSD
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.xml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -1,246 +0,0 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
<!--
$FreeBSD$
-->
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en">
<info><title>Using Greylist with &os;</title>
<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><affiliation>
<address><email>trhodes@FreeBSD.org</email></address>
</affiliation></author>
<copyright>
<year>2004</year>
<holder>The &os; Documentation Project</holder>
</copyright>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
<para>An article written for the sole purpose of explaining
the relaydelay system on a &os; mail server. A relaydelay
or greylisting server cuts down on spam simply by issuing
a <errorname>TEMPFAIL</errorname> error message to
every incoming email. The purpose behind this idea
is that most spammers use their personal computers with
software to do their spamming. A real mail server should
queue the message and try to send it later. Thus the
spammer most likely moves on to the next host in place
of trying to send the email again. This is an excellent
idea; at least until the spammers begin to use software
that offers to try again. But how does this work exactly?
Well, when an email is received the message
<acronym>ID</acronym> is stored in a database and the
<errorname>TEMPFAIL</errorname> is returned along with the
email. If the email is resent, the message
<acronym>ID</acronym> will be checked against the message
<acronym>ID</acronym>s currently stored in the database.
If it exists in the database then the email is permitted to reach its
intended recipient. Otherwise, the <acronym>ID</acronym>
will be stored and a <errorname>TEMPFAIL</errorname> will
be issued. This cycle will repeat with every email which
comes into the server. From my personal experience, this
really does cut out 90% of the spam.</para>
</abstract>
</info>
<sect1>
<title>Basic Configuration</title>
<para>Install perl using
<screen>&prompt.root; <userinput>pkg install lang/perl5.16</userinput></screen>
</para>
<para>Now for the database server;
<application>MySQL</application> is perfect for this
sort of work. Install the
<package>databases/mysql40-server</package>
along with
<package>databases/p5-DBD-mysql40</package>.
The previous port should imply the installation of
<package>databases/p5-DBI-137</package>
so that knocks off another step.</para>
<para>Install the <command>perl</command> based portable
server plugin, <package>net/p5-Net-Daemon</package>
port. Most of these port installations should have
been straight forward. The next step will be more
involved.</para>
<para>Now install the
<package>mail/p5-Sendmail-Milter</package>
port. As of this writing the <filename>Makefile</filename>
contains a line beginning with <varname>BROKEN</varname>,
just remove it or comment it out. It is only marked
this way because &os; neither has nor installs
a threaded <command>perl</command> package by default. Once that
line is removed it should build and install perfectly
fine.</para>
<para>Create a directory to hold temporary configuration
files:</para>
<screen>&prompt.root; <userinput>mkdir /tmp/relaydelay</userinput>
&prompt.root; <userinput>cd /tmp/relaydelay</userinput></screen>
<para>Now that we have a temporary directory to work in, the
following <acronym>URL</acronym>s should be sent to the
<command>fetch</command> command:</para>
<screen>&prompt.root; <userinput>fetch http://projects.puremagic.com/greylisting/releases/relaydelay-0.04.tgz</userinput>
&prompt.root; <userinput>fetch http://lists.puremagic.com/pipermail/greylist-users/attachments/20030904/b8dafed9/relaydelay-0.04.bin</userinput></screen>
<!-- NOTE TO TOM RHODES: HAVING THE SOFTWARE LINKED HERE IS A BAD IDEA IN
CASE SOME ASSHOLE UPDATES IT. I SHOULD PROBABLY ARCHIVE THE OTHER URL
SCRIPTS AND OTHER SHIT AS WELL. -->
<para>The source code should now be unpacked:</para>
<screen>&prompt.root; <userinput>gunzip -c relaydelay-0.04.tgz | tar xvf -</userinput></screen>
<para>There should now be several files into the temporary directory
by this point. The appropriate information can now be passed to
the database server by importing it from the
<filename>mysql.sql</filename> file:</para>
<screen>&prompt.root; <userinput>mysql &lt; relaydelay-0.04/mysql.sql</userinput></screen>
<para>And patch the other files with the
<filename>relaydelay.bin</filename> by running:</para>
<screen>&prompt.root; <userinput>patch -d /tmp/relaydelay/relaydelay-0.04 &lt; relaydelay.bin</userinput></screen>
<para>Edit the <filename>relaydelay.conf</filename> and the
<filename>db_maintenance.pl</filename> file to append the
correct username and password for the
<application>MySQL</application> database. If the database was
built and installed like the above then no users or passwords
exist. This should be altered before putting this into
production, that is covered in the database documentation and
is beyond the scope of this document.</para>
<para>Change the working directory to the
<filename>relaydelay-0.04</filename>
directory:</para>
<screen>&prompt.root; <userinput>cd relaydelay-0.04</userinput></screen>
<para>Copy or move the configuration files to their respective
directories:</para>
<screen>&prompt.root; <userinput>mv db_maintenance.pl relaydelay.pl /usr/local/sbin</userinput>
&prompt.root; <userinput>mv relaydelay.conf /etc/mail</userinput>
&prompt.root; <userinput>mv relaydelay.sh /usr/local/etc/rc.d/</userinput></screen>
<para>Test the current configuration by running:</para>
<screen>&prompt.root; <userinput>sh /usr/local/etc/rc.d/relaydelay.sh start</userinput></screen>
<note>
<para>This file will not exist if the previous &man.mv.1; commands
were neglected.</para>
</note>
<para>If everything worked correctly a new file,
<filename>relaydelay.log</filename>, should exist in
<filename>/var/log</filename>. It should
contain something similar to the following text:</para>
<programlisting>Loaded Config File: /etc/mail/relaydelay.conf
Using connection 'local:/var/run/relaydelay.sock' for filter relaydelay
DBI Connecting to DBI:mysql:database=relaydelay:host=localhost:port=3306
Spawned relaydelay daemon process 38277.
Starting Sendmail::Milter 0.18 engine.</programlisting>
<para>If this does not appear then something went wrong, review
the screen output or look for anything new in the
<filename>messages</filename> log file.</para>
<para>Glue everything together by adding the following line to
<filename>/etc/mail/sendmail.mc</filename> or the customized
site specific <filename>mc</filename> file:</para>
<programlisting>INPUT_MAIL_FILTER(`relaydelay', `S=local:/var/run/relaydelay.sock, T=S:1m;R:2m;E:3m')dnl</programlisting>
<para>Rebuild and reinstall the files in the
<filename>/etc/mail</filename> directory and restart
<command>sendmail</command>. A quick <command>make</command>
<buildtarget>restart</buildtarget> should do the trick.</para>
<para>Obtain the <command>perl</command> script located at
<link xlink:href="http://lists.puremagic.com/pipermail/greylist-users/2003-November/000327.html">
http://lists.puremagic.com/pipermail/greylist-users/2003-November/000327.html</link>
and save it in the
<filename>relaydelay-0.04</filename>
directory. In the following examples this script is
referred to as <filename>addlist.pl</filename>.</para>
<para>Edit the <filename>whitelist_ip.txt</filename> file and
modify it to include <acronym>IP</acronym> addresses of servers
which should have the explicit abilities to bypass the
<application>relaydelay</application> filters. i.e., domains
from which email will not be issued a
<errorname>TEMPFAIL</errorname> when received.</para>
<para>Some examples could include:</para>
<programlisting>192.168. # My internal network.
66.218.66 # Yahoo groups has unique senders.</programlisting>
<para>The <filename>blacklist_ip.txt</filename> file should
be treated similarly but with reversed rules. List within
this file <acronym>IP</acronym>s which should be denied without
being issued a <errorname>TEMPFAIL</errorname>. This list of
domains will never have the opportunity to prove that they are
legitimate email servers.</para>
<para>These files should now be imported into the database with
the <filename>addlist.pl</filename> script obtained a few
lines ago:</para>
<screen>&prompt.root; <userinput>perl addlist.pl -whitelist 9999-12-31 23:59:59 &lt; whitelist_ip.txt</userinput>
&prompt.root; <userinput>perl addlist.pl -blacklist 9999-12-31 23:59:59 &lt; blacklist_ip.txt</userinput></screen>
<para>To have <application>relaydelay</application> start with
every system boot, add the
<option>relaydelay_enable="YES"</option> to the
<filename>/etc/rc.conf</filename> file.</para>
<para>The <filename>/var/log/relaydelay.log</filename> log file
should slowly fill up with success stories. Lines like the
following should appear after a short time, depending on how
busy the mail server is.</para>
<programlisting>=== 2004-05-24 21:03:22 ===
Stored Sender: &lt;someasshole@flawed-example.com&gt;
Passed Recipient: &lt;local_user@pittgoth.com&gt;
Relay: example.net [XXX.XX.XXX.XX] - If_Addr: MY_IP_ADDRESS
RelayIP: XX.XX.XX.XX - RelayName: example.net - RelayIdent: - PossiblyForged: 0
From: someasshole@flawed-example.com - To: local_user
InMailer: esmtp - OutMailer: local - QueueID: i4P13Lo6000701111
Email is known but block has not expired. Issuing a tempfail. rowid: 51
IN ABORT CALLBACK - PrivData: 0&lt;someasshole@flawed-example.com&gt;</programlisting>
<para>The following line may now be added to
<filename>/etc/newsyslog.conf</filename> to cause for
<filename>relaydelay.log</filename> rotation at every
100 <acronym>Kb</acronym>:</para>
<screen>/var/log/relaydelay.log 644 3 100 * Z</screen>
<!-- XXX What text does this note belong with? -->
<note>
<para>At some point there was an error about improper
<command>perl</command> variables in the
<filename>/etc/mail/relaydelay.conf</filename>. If those
two variables are commented out then configuration may
proceed as normal. Just remember to uncomment them before
starting the <command>relaydelay</command> process.</para>
</note>
</sect1>
</article>

View file

@ -232,12 +232,6 @@
A guide to writing new rc.d scripts and understanding those
already written.</p>
<p><a href="&url.articles;/relaydelay/index.html">FreeBSD as a
greylist mail server</a> (relaydelay)<br/>
Implementing a greylist mail server on FreeBSD using Sendmail,
MySQL, Perl and the relaydelay software. This is an excellent
method to use in the fight against spam.</p>
<p><a href="&url.articles;/releng/index.html">FreeBSD Release
Engineering</a> (releng)<br/>
Describes the approach used by the FreeBSD release engineering

View file

@ -31,7 +31,6 @@ SUBDIR+= leap-seconds
#SUBDIR+= pr-guidelines
SUBDIR+= problem-reports
#SUBDIR+= rc-scripting
#SUBDIR+= relaydelay
#SUBDIR+= releng
#SUBDIR+= remote-install
#SUBDIR+= serial-uart

View file

@ -25,7 +25,6 @@ SUBDIR+= new-users
SUBDIR+= pam
SUBDIR+= pr-guidelines
SUBDIR+= problem-reports
SUBDIR+= relaydelay
SUBDIR+= releng
#SUBDIR+= serial-uart
SUBDIR+= solid-state

View file

@ -1,21 +0,0 @@
#
# The FreeBSD Russian Documentation Project
#
# $FreeBSD$
# $FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/relaydelay/Makefile,v 1.1 2005/06/16 17:50:42 andy Exp $
#
# Original revision: r39631
#
# Article: Using greylisting with FreeBSD
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
SRCS= article.xml
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -1,251 +0,0 @@
<?xml version="1.0" encoding="koi8-r"?>
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
<!--
The FreeBSD Russian Documentation Project
$FreeBSD$
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/articles/relaydelay/article.xml,v 1.2 2007/05/15 19:31:54 gad Exp $
Original revision: r43184
-->
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru">
<info><title>Использование технологии серых списков во &os;</title>
<author><personname><firstname>Том</firstname><surname>Родес</surname></personname><affiliation>
<address><email>trhodes@FreeBSD.org</email></address>
</affiliation></author>
<copyright>
<year>2004</year>
<holder>The &os; Documentation Project</holder>
</copyright>
<pubdate>$FreeBSD$</pubdate>
<releaseinfo>$FreeBSD$</releaseinfo>
<abstract>
<para>Эта статья создана исключительно для описания технологии задержки
передачи сообщений на почтовом сервере &os;. Сервер с технологией
задержки передачи (relaydelay) или попаданием в серый список
(greylisting) снижает уровень спама просто за счёт выдачи
диагностического сообщения <errorname>TEMPFAIL</errorname> на каждое
входящее почтовое сообщение. Смысл этой технологии заключается в том,
что большинство спамеров для выполнения своей работы используют
собственные персональные компьютеры и специализированное программное
обеспечение. Настоящий почтовый сервер должен помещать сообщения в
очередь и пытаться доставить его позже. Таким образом, скорее всего,
спамер перейдёт к следующему хосту вместо того, чтобы попытаться снова
послать электронное послание. Это прекрасная идея; по крайней мере,
до тех пор, пока спамеры не начнут использовать программное
обеспечение, которое будет обеспечивать повтор передачи. Но как именно
это работает? Итак, в процессе приёма сообщения электронной почты
<acronym>ID</acronym> сообщения сохраняется в базе данных, а в качестве
результата возвращается <errorname>TEMPFAIL</errorname> вместе с
электронной почтой. Если сообщение электронной почты посылается
повторно, то <acronym>ID</acronym> сообщения будет сверяться с
<acronym>ID</acronym> сообщений, сохранёнными в базе данных. Если в
базе данных оно существует, то посланию электронной почты разрешается
доставка по назначению. В противном случае <acronym>ID</acronym>
сохраняется, а в качестве результата возвратится
<errorname>TEMPFAIL</errorname>. Этот цикл будет повторяться для
каждого сообщения, поступающего на сервер. По моему личному опыту,
это действительно отсекает 90% спама.</para>
</abstract>
</info>
<sect1>
<title>Базовая настройка</title>
<para>Нам потребуется <command>perl</command> с поддержкой многопоточного
выполнения. Установите <package>lang/perl5.8</package>
с установленной переменной <varname>USE_THREADS=yes</varname>. Сначала
может потребоваться удалить текущую версию <command>perl</command>; на
необходимость сделать это укажут ошибки в процессе установки.</para>
<note>
<para>При этом потребуется, чтобы все порты, которым нужен
<command>perl</command>, были перестроены и переустановлены;
<package>ports-mgmt/portupgrade</package> хорошо для
этого подходит. По крайней мере, он укажет, какие порты были удалены и
какие необходимо переустановить.</para>
</note>
<para>Теперь что касается сервера базы данных;
<application>MySQL</application> прекрасно подходит для такого типа
работы. Установите <package>databases/mysql40-server</package> вместе с <package>databases/p5-DBD-mysql40</package>. Предыдущий порт
должен подразумевать установку <package>databases/p5-DBI-137</package>, так что один шаг будет
пропущен.</para>
<para>Установите переносимый подключаемый серверный модуль на базе
<command>perl</command>, порт <package>net/p5-Net-Daemon</package>. Большинство установок этих
портов должны проходить без проблем. Следующий шаг будет более
трудоёмким.</para>
<para>Теперь установите порт <package>mail/p5-Sendmail-Milter</package>. На момент написания
этого документа в файле <filename>Makefile</filename> имелась строка,
начинающаяся с <varname>BROKEN</varname>, просто уберите или
закомментируйте её. Она помечена так лишь потому, что в &os; по
умолчанию не включался и не устанавливался пакет <command>perl</command>
с поддержкой многопоточного выполнения. После удаления этой строки он
должен строиться и устанавливаться без ошибок.</para>
<para>Создайте каталог для размещения временных конфигурационных
файлов:</para>
<screen>&prompt.root; <userinput>mkdir /tmp/relaydelay</userinput>
&prompt.root; <userinput>cd /tmp/relaydelay</userinput></screen>
<para>Теперь, когда у нас имеется временный каталог для работы, команде
<command>fetch</command> нужно передать следующие
<acronym>URL</acronym>-адреса:</para>
<screen>&prompt.root; <userinput>fetch http://projects.puremagic.com/greylisting/releases/relaydelay-0.04.tgz</userinput>
&prompt.root; <userinput>fetch http://lists.puremagic.com/pipermail/greylist-users/attachments/20030904/b8dafed9/relaydelay-0.04.bin</userinput></screen>
<!-- ЗАМЕЧАНИЕ ДЛЯ ТОМА РОДЕСА: РАЗМЕЩАТЬ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ЗДЕСЬ
ЯВЛЯЕТСЯ ПЛОХОЙ ИДЕЕЙ НА ТОТ СЛУЧАЙ, ЕСЛИ КАКОЙ-НИБУДЬ МУДАК ЗАМЕНИТ
ЕГО. НАВЕРНОЕ, Я ДОЛЖЕН ЗААРХИВИРОВАТЬ СКРИПТЫ И ОСТАЛЬНУЮ ШНЯГУ. -->
<para>Теперь необходимо распаковать исходный код:</para>
<screen>&prompt.root; <userinput>gunzip -c relaydelay-0.04.tgz | tar xvf -</userinput></screen>
<para>На этот момент во временном каталоге должно оказаться несколько
файлов. Теперь необходимая информация может передаваться серверу базы
данных импортированием её из файла <filename>mysql.sql</filename>:</para>
<screen>&prompt.root; <userinput>mysql &lt; relaydelay-0.04/mysql.sql</userinput></screen>
<para>Установите патч <filename>relaydelay.bin</filename> для остальных
файлов, запустив такую команду:</para>
<screen>&prompt.root; <userinput>patch -d /tmp/relaydelay/relaydelay-0.04 &lt; relaydelay.bin</userinput></screen>
<para>Отредактируйте файлы <filename>relaydelay.conf</filename> и
<filename>db_maintenance.pl</filename>, добавив в них корректное имя
пользователя и пароль для СУБД <application>MySQL</application>. Если
СУБД была построена и установлена так, как описано выше, то в ней
отсутствуют пользователи и пароли. Эта ситуация должна быть исправлена
до перевода системы в промышленную эксплуатацию, что описано в
документации к СУБД и выходит за рамки данной статьи.</para>
<para>Смените рабочий каталог на <filename>relaydelay-0.04</filename>:</para>
<screen>&prompt.root; <userinput>cd relaydelay-0.04</userinput></screen>
<para>Скопируйте или переместите конфигурационные файлы в соответствующие
каталоги:</para>
<screen>&prompt.root; <userinput>mv db_maintenance.pl relaydelay.pl /usr/local/sbin</userinput>
&prompt.root; <userinput>mv relaydelay.conf /etc/mail</userinput>
&prompt.root; <userinput>mv relaydelay.sh /usr/local/etc/rc.d/</userinput></screen>
<para>Протестируйте получившуюся конфигурацию, выполнив такую
команду:</para>
<screen>&prompt.root; <userinput>sh /usr/local/etc/rc.d/relaydelay.sh start</userinput></screen>
<note>
<para>Этот файл не будет существовать, если предыдущие команды &man.mv.1;
не были выполнены.</para>
</note>
<para>Если всё отработало корректно, то в каталоге <filename>/var/log</filename> должен появиться новый файл,
<filename>relaydelay.log</filename>. В нём должен находиться текст,
подобный следующему:</para>
<programlisting>Loaded Config File: /etc/mail/relaydelay.conf
Using connection 'local:/var/run/relaydelay.sock' for filter relaydelay
DBI Connecting to DBI:mysql:database=relaydelay:host=localhost:port=3306
Spawned relaydelay daemon process 38277.
Starting Sendmail::Milter 0.18 engine.</programlisting>
<para>Если файл не появился, то что-то сработало неправильно, пересмотрите
экранную диагностику или просмотрите журнальный файл
<filename>messages</filename> на предмет появления новой
информации.</para>
<para>Объедините всё вместе, добавив следующую строку в файл
<filename>/etc/mail/sendmail.mc</filename> или специфичный для вашей
системы <filename>mc</filename>-файл:</para>
<programlisting>INPUT_MAIL_FILTER(`relaydelay', `S=local:/var/run/relaydelay.sock, T=S:1m;R:2m;E:3m')dnl</programlisting>
<para>Перестройте и переустановите файлы в каталоге
<filename>/etc/mail</filename> и перезапустите
<command>sendmail</command>. Короткая команда <command>make</command>
<buildtarget>restart</buildtarget> должна сделать всё необходимое.</para>
<para>Сгрузите скрипт на языке <command>perl</command>, размещённый по
адресу <link xlink:href="http://lists.puremagic.com/pipermail/greylist-users/2003-November/000327.html">http://lists.puremagic.com/pipermail/greylist-users/2003-November/000327.html</link>
и сохраните его в каталог <filename>relaydelay-0.04</filename>. В следующем примере этот
скрипт обозначается как <filename>addlist.pl</filename>.</para>
<para>Отредактируйте файл <filename>whitelist_ip.txt</filename>,
модифицировав его так, чтобы в него были включены
<acronym>IP</acronym>-адреса серверов, которые должны иметь возможность
игнорировать фильтры <application>relaydelay</application>. То есть это
домены, при получении электронной почты от которых диагностическое
сообщение <errorname>TEMPFAIL</errorname> выдаваться не будет.</para>
<para>Как пример можно привести:</para>
<programlisting>192.168. # My internal network.
66.218.66 # Yahoo groups has unique senders.</programlisting>
<para>Файл <filename>blacklist_ip.txt</filename> должен иметь похожее
назначение, но с обратными правилами. Укажите в этом файле
<acronym>IP</acronym>-адреса, которые должны отвергаться без выдачи
диагностического сообщения <errorname>TEMPFAIL</errorname>. Этот
перечень доменов никогда не получит даже возможность сообщить о том, что
они являются реально существующими почтовыми серверами.</para>
<para>Эти файлы теперь должны быть импортированы в базу данных посредством
скрипта <filename>addlist.pl</filename>, который был получен несколькими
строками выше:</para>
<screen>&prompt.root; <userinput>perl addlist.pl -whitelist 9999-12-31 23:59:59 &lt; whitelist_ip.txt</userinput>
&prompt.root; <userinput>perl addlist.pl -blacklist 9999-12-31 23:59:59 &lt; blacklist_ip.txt</userinput></screen>
<para>Для включения технологии <application>relaydelay</application> при
каждой загрузке системы, добавьте строчку
<option>relaydelay_enable="YES"</option> в файл
<filename>/etc/rc.conf</filename>.</para>
<para>Журнальный файл <filename>/var/log/relaydelay.log</filename> должен
постепенно пополняться удачными прохождениями. В зависимости от загрузки
вашего почтового сервера, вскоре должны появиться строчки, подобные
следующим.</para>
<programlisting>=== 2004-05-24 21:03:22 ===
Stored Sender: &lt;someasshole@flawed-example.com&gt;
Passed Recipient: &lt;local_user@pittgoth.com&gt;
Relay: example.net [XXX.XX.XXX.XX] - If_Addr: MY_IP_ADDRESS
RelayIP: XX.XX.XX.XX - RelayName: example.net - RelayIdent: - PossiblyForged: 0
From: someasshole@flawed-example.com - To: local_user
InMailer: esmtp - OutMailer: local - QueueID: i4P13Lo6000701111
Email is known but block has not expired. Issuing a tempfail. rowid: 51
IN ABORT CALLBACK - PrivData: 0&lt;someasshole@flawed-example.com&gt;</programlisting>
<para>В файл <filename>/etc/newsyslog.conf</filename> теперь можно добавить
следующую строку, которая обеспечивает ротацию журналов
<filename>relaydelay.log</filename> при достижении размера в 100
<acronym>Кбайт</acronym>:</para>
<screen>/var/log/relaydelay.log 644 3 100 * Z</screen>
<!-- XXX К какому тексту относится это замечание? -->
<note>
<para>В какой-то момент появлялась ошибка о неполном определении
переменных <command>perl</command> в файле
<filename>/etc/mail/relaydelay.conf</filename>. Если те две переменные
раскомментированы, то конфигурационный файл может быть обработан
нормально. Просто не забудьте убрать их из комментариев до того, как
начать работу с технологией <command>relaydelay</command>.</para>
</note>
</sect1>
</article>

View file

@ -103,8 +103,6 @@
<!ENTITY url.articles.pxe.en "&url.doc.langbase.en;/articles/pxe">
<!ENTITY url.articles.rc-scripting "&url.doc.langbase;/articles/rc-scripting">
<!ENTITY url.articles.rc-scripting.en "&url.doc.langbase.en;/articles/rc-scripting">
<!ENTITY url.articles.relaydelay "&url.doc.langbase;/articles/relaydelay">
<!ENTITY url.articles.relaydelay.en "&url.doc.langbase.en;/articles/relaydelay">
<!ENTITY url.articles.releng "&url.doc.langbase;/articles/releng">
<!ENTITY url.articles.releng.en "&url.doc.langbase.en;/articles/releng">
<!ENTITY url.articles.releng-packages "&url.doc.langbase;/articles/releng-packages">