<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mick - Информационный ресурс &#187; sendmail</title>
	<atom:link href="https://mick.in.ua/tag/sendmail/feed/" rel="self" type="application/rss+xml" />
	<link>https://mick.in.ua</link>
	<description>Практический опыт системного администратора</description>
	<lastBuildDate>Tue, 23 Sep 2025 12:49:35 +0000</lastBuildDate>
	<language>ru-RU</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.0</generator>
	<item>
		<title>Настройка Sendmail</title>
		<link>https://mick.in.ua/2011-11-30/sendmail/</link>
		<comments>https://mick.in.ua/2011-11-30/sendmail/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 18:11:12 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Моя работа]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[sendmail]]></category>

		<guid isPermaLink="false">http://mick.icc-ukraine.com.ua/?p=103</guid>
		<description><![CDATA[Файл конфигурации sendmail /etc/mail/sendmail.cf большой по размеру и конфигурировать его неудобно. Для его настройки используют микропроцессор m4. Он является штатным компонентом исходного кода sendmail и позволяет упростить его настройку. Подробное описание настройки sendmail при помощи m4 находится здесь: /usr/share/sendmail/cf/README. Примеры готовых конфигурационных файлов находятся здесь: /usr/share/sendmail/cf/cf, на их основе создадим свой файл. При установке системы [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Файл конфигурации sendmail /etc/mail/sendmail.cf большой по размеру и конфигурировать его неудобно. Для его настройки используют микропроцессор m4. Он является штатным компонентом исходного кода sendmail и позволяет упростить его настройку. Подробное описание настройки sendmail при помощи m4 находится здесь: /usr/share/sendmail/cf/README. Примеры готовых конфигурационных файлов находятся здесь: /usr/share/sendmail/cf/cf, на их основе создадим свой файл. При установке системы sendmail конфигурируется файлом по умолчанию /etc/mail/freebsd.mc. Итак необходимо для небольшой локальной сети организовать отправку почты через SMTP-сервер провайдера, имеем файл конфигурации:</p>
<p><strong><span id="more-103"></span>divert(-1)dnl</strong><br />
<strong>&#8230;&#8230;&#8230;&#8230;.</strong><br />
<strong>divert(0)dnl</strong></p>
<p>Директива divert служит для переключения режимов макропроцессора.Сама конфигурация начинается с divert(), поэтому между указанными строками помещают комментарии к файлу. Буквы dnl означают конец строки.</p>
<p><strong>include(`../m4/cf.m4&#8242;)dnl</strong></p>
<p>Встроенный макрос include подключает другие m4 файлы.</p>
<p><strong>VERSIONID(`icc.mc create by orfei@orfei.net.ua Okt 1 2005&#8242;)dnl</strong></p>
<p>VERSIONID &#8211; строка информационная, ее можно и не писать, но в ней обычно указывают, когда<br />
редактировался файл конфигурации.</p>
<p><strong>OSTYPE(freebsd5)dnl</strong></p>
<p>OSTYPE &#8211; обязательный макрос, определяет тип оперционной системы. В скобках указано имя (без m4) подключаемого файла /usr/share/sendmail/cf/ostype.</p>
<p><strong>DOMAIN(generic)dnl</strong></p>
<p>Этот параметр подключает шаблон /usr/share/sendmail/cf/domain. В большинстве случаев подходит generic.</p>
<p><strong>FEATURE(`use_cw_file&#8217;, `/etc/mail/local-host-names&#8217;)dnl</strong><br />
или<br />
<strong>FEATURE(use_cw_file)dnl</strong><br />
<strong> define(&#8216;confCW_FILE&#8217;,&#8217;-o /etc/mail/local-host-names&#8217;)dnl</strong></p>
<p>Строка указывает использование файла local-host-names. В этом файле перечислены домены, которые будет обрабатывать sendmail. Опция -o говорит о том, что не выдавать сообщение об ошибке, если этого файла нет.</p>
<p><strong>FEATURE(`access_db&#8217;)dnl</strong></p>
<p>Строка описывает путь к файлу конфигурации access, по умолчанию /etc/mail/access. В нем записаны сети, с которых разрен доступ к серверу.</p>
<p><strong>FEATURE(`nocanonify&#8217;)dnl</strong></p>
<p>Отключение канонизации адреса. Канонизация есть выполнение соответствия RFC1123, в котором говорится, что домен в доменной части не может быть алиасом(CNAME-записью в DNS).</p>
<p><strong>MASQUERADE_AS(`your_domain&#8217;)dnl</strong><br />
<strong> FEATURE(`allmasquerade&#8217;)dnl</strong><br />
<strong> FEATURE(`masquerade_envelope&#8217;)dnl</strong></p>
<p>Директива MASQUERADE_AS позволяет sendmail менять поле hostname на значение, указанное в скобках распространяется и на поле from:).</p>
<p><strong>FEATURE(`local_procmail&#8217;, `/usr/local/bin/procmail&#8217;)dnl</strong></p>
<p>Указывает sendmail использовать procmail в качестве локальной почтовой программы доставки.</p>
<p><strong>MAILER(`smtp&#8217;)dnl</strong><br />
<strong> MAILER(`procmail&#8217;)dnl</strong></p>
<p>Объявление почтовых программ, первой должна быть SMTP.</p>
<p><strong>define(`SMART_HOST&#8217;, `smtp:smtp_isp&#8217;)dnl</strong></p>
<p>Определение SMTP-сервера провайдера.</p>
<p>Полученный файл ложим в /etc/mail/server.m4 и из него собираем sendmail.cf, предварительно сделав резервную копию:</p>
<p><strong>#cd /etc/mail</strong><br />
<strong> #cp sendmail.cf sendmail_old.cf. </strong><br />
<strong> #m4 server.m4 &gt; sendmail.cf</strong></p>
<p>Далее создаем файл /etc/mail/local-host-names, в котором пишем название доменов, которые будет обслуживать наш Sendmail.<br />
Далее редактируем файл /etc/mail/access, в котором, укажем кто имеет право доступа к Sendmail. В нашем случае укажем доступ всех локальных пользователей:<br />
192.168 ok<br />
Можно также настроить virtusertable и mailertable, но нам этого не нужно, при необходимости можно позже ввести изменения. Все настройки сделаны, делаем make:</p>
<p><strong>#cd /etc/mail</strong><br />
<strong> #make</strong><br />
<strong> #make restart</strong></p>
<p>Далее включаем Sendmail в автозагрузку, добавляем в /etc/rc.conf:</p>
<p><strong>sendmail_enable=&#8221;YES&#8221;</strong><br />
<strong> sendmail_flags=&#8221;-L sm-mta -bd -q30m&#8221;</strong></p>
<p>Делаем рестарт и проверяем работу. При необходимости внести новые изменения, редактируем m4 файл, делаем из него sendmail.cf и рестартуем сендамейл.</p>
<p>PS. Есть /etc/mail/Makefile, тут описано правило каким должны быть файлы и где лежать, если все рекомендации здесь выполнить одной командой make all можно переконфигурировать Sendmail. Наш файл конфигурации должен иметь название &lt;HOSTNAME&gt;.mc, иначе при команде make создастся cf файл из темплейта /etc/mail/freebsd.mc. Также файл &lt;HOSTNAME&gt;.submit.mc должен лежать в /etc/mail(зачем он применяется &#8211; не знаю), иначе будет использован /etc/mail/freebsd.submit.mc. Если не охота иметь такие длинные названия файлов, можно в /etc/make.conf прописать строку на использование файлов конфигурации другого названия:</p>
<p><strong>SENDMAIL_MC=/etc/mail/myconfig.mc</strong><br />
<strong> SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc</strong></p>
<p>Далее командой make all создаются cf-файл, мапы и алиасы. Можно это делать по отдельности: make cf, make maps, make aliases. Ниже приведен пример выполнения команды make all:</p>
<p><strong>/usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 /etc/mail/myconfig.mc.mc &gt; /etc/mail/myconfig.mc.cf</strong><br />
<strong> cp freebsd.submit.mc hostname.submit.mc</strong><br />
<strong> /usr/bin/m4 -D_CF_DIR_=/usr/share/sendmail/cf/ /usr/share/sendmail/cf/m4/cf.m4 hostname.submit.mc &gt; hostname.submit.cf</strong></p>
<p>После выполняем make install, тем самым создаем /etc/mail/sendmail.cf.</p>
<p><strong>install -m 444 /etc/mail/backup.cf /etc/mail/sendmail.cf</strong><br />
<strong>install -m 444 backup.icc-ukraine.com.ua.submit.cf /etc/mail/submit.cf</strong></p>
<p>Ну и напоследок make restart. Должно работать, для проверки прослушивания 25 порта в консоли запускаем:</p>
<p><strong>#sockstat -4|grep 25</strong><br />
<strong> root sendmail 636 4 tcp4 *:25 *:*</strong></p>
<p><strong>Источник информации:</strong><br />
1. <a href="http://www.mgul.ac.ru/~t-alex/Linux/kn/orel/chap11.htm" target="_blank">http://www.mgul.ac.ru/~t-alex/Linux/kn/orel/chap11.htm</a><br />
2. <a href="http://www.samag.ru/cgi-bin/go.pl?q=articles;n=06.2006;a=02" target="_blank">http://www.samag.ru/cgi-bin/go.pl?q=articles;n=06.2006;a=02</a><br />
3. <a href="http://www.samag.ru/cgi-bin/go.pl?q=articles;n=05.2006;a=01" target="_blank">http://www.samag.ru/cgi-bin/go.pl?q=articles;n=05.2006;a=01</a></p>
<p><strong>© mick, 2007.</strong></p>
]]></content:encoded>
			<wfw:commentRss>https://mick.in.ua/2011-11-30/sendmail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
