aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/handbook/mail/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/handbook/mail/_index.adoc')
-rw-r--r--documentation/content/ru/books/handbook/mail/_index.adoc1164
1 files changed, 468 insertions, 696 deletions
diff --git a/documentation/content/ru/books/handbook/mail/_index.adoc b/documentation/content/ru/books/handbook/mail/_index.adoc
index df79712f7a..b1401f66fd 100644
--- a/documentation/content/ru/books/handbook/mail/_index.adoc
+++ b/documentation/content/ru/books/handbook/mail/_index.adoc
@@ -1,12 +1,14 @@
---
-title: Глава 24. Электронная почта
-part: Часть IV. Сетевые коммуникации
-prev: books/handbook/ppp-and-slip
+description: 'Эта глава содержит базовое введение в настройку почтового сервера на FreeBSD, а также основы отправки и получения электронной почты с использованием FreeBSD'
next: books/handbook/network-servers
-showBookMenu: true
-weight: 29
params:
- path: "/books/handbook/mail/"
+ path: /books/handbook/mail/
+part: 'IV. Сетевое взаимодействие'
+prev: books/handbook/ppp-and-slip
+showBookMenu: true
+tags: ["mail", "sendmail", "dma", "MTA", "SMTP", "mail user agents", "fetchmail", "procmail", "alpine", "mutt", "postfix"]
+title: 'Глава 31. Электронная почта'
+weight: 36
---
[[mail]]
@@ -17,7 +19,7 @@ params:
:icons: font
:sectnums:
:sectnumlevels: 6
-:sectnumoffset: 24
+:sectnumoffset: 31
:partnums:
:source-highlighter: rouge
:experimental:
@@ -48,461 +50,215 @@ include::../../../../../shared/asciidoctor.adoc[]
endif::[]
[[mail-synopsis]]
-== Краткий обзор
-
-"Электронная почта" называемая также email, является на сегодняшний день одним из самых популярных средств связи. Эта глава описывает основы работы с почтовым сервером в FreeBSD, а также введение в процесс отправки и получения почты в FreeBSD; однако, это не полноценный справочник и фактически в главу не вошло много важной информации. Более подробно эта тема рассмотрена во множестве прекрасных книг, список которых приведен в crossref:bibliography[bibliography,Библиография].
-
-После прочтения этой главы вы узнаете:
-
-* Какие программные компоненты задействованы в отправке и получении электронной почты.
-* Какие основные файлы настройки sendmail имеются в FreeBSD.
-* Разницу между удаленными и локальными почтовыми ящиками.
-* Как запретить спамерам использовать ваш почтовый сервер для пересылки почты.
-* Как установить и настроить альтернативный агент передачи почты (Mail Transfer Agent, MTA), заменив им sendmail.
-* Как разрешить наиболее часто встречающиеся проблемы с почтовым сервером.
-* Как настроить систему только для отправки почты.
-* Как использовать почту с коммутируемым подключением к сети.
-* Как настроить SMTP аутентификацию для дополнительной защиты.
-* Как установить и настроить почтовый агент пользователя (Mail User Agent, MUA), например mutt, для отправки и получения почты.
-* Как загрузить почту с удаленного POP или IMAP сервера.
+== Обзор
+
+"Электронная почта", более известная как email, является одним из самых распространённых средств связи в наши дни. Эта глава даёт базовое введение в настройку почтового сервера на FreeBSD, а также основы отправки и получения электронной почты с использованием FreeBSD. Для полного ознакомления с темой обратитесь к книгам, перечисленным в crossref:bibliography[bibliography,Библиография].
+
+Эта глава охватывает:
+
+* Какие программные компоненты участвуют в отправке и получении электронной почты.
+* Как настроить DragonFly Mail Agent.
+* Где расположены основные файлы конфигурации Sendmail в FreeBSD.
+* Разница между удаленными и локальными почтовыми ящиками.
+* Как установить и настроить альтернативный агент передачи почты (MTA), заменяющий DragonFly Mail Agent или Sendmail.
+* Как устранить распространённые проблемы с почтовым сервером.
+* Как настроить Sendmail только для отправки почты.
+* Как настроить аутентификацию SMTP для повышения безопасности в Sendmail.
+* Как установить и использовать почтовый клиент, например mutt, для отправки и получения электронной почты.
+* Как загружать почту с удаленного POP или IMAP сервера.
* Как автоматически применять фильтры и правила к входящей почте.
-Перед прочтением этой главы вам потребуется:
-
-* Правильно настроить сетевое подключение (crossref:advanced-networking[advanced-networking, Сложные вопросы работы в сети]).
-* Правильно настроить DNS для почтового сервера (crossref:network-servers[network-servers, Сетевые серверы]).
-* Знать как устанавливать дополнительное программное обеспечение сторонних разработчиков (crossref:ports[ports, Установка приложений. порты и пакеты]).
-
[[mail-using]]
-== Использование электронной почты
+== Компоненты почты
-В работе почтовой системы задействованы пять основных частей: <<mail-mua,пользовательский почтовый клиент>> (Mail User Agent, MUA), <<mail-mta,почтовый сервис (даемон)>> (Mail Transfer Agent, MTA), <<mail-dns,сервер DNS>>, <<mail-receive,удаленный или локальный почтовый ящик>>, и конечно сам <<mail-host,почтовый сервер>>.
+В процессе обмена электронной почтой участвуют пять основных компонентов: почтовый пользовательский агент (MUA), агент пересылки почты (MTA), почтовый хост, удалённый или локальный почтовый ящик и DNS. В этом разделе представлен обзор этих компонентов.
-[[mail-mua]]
-=== Пользовательский почтовый клиент
+Почтовый клиент (MUA)::
+Почтовый клиент (Mail User Agent — MUA) — это приложение, используемое для создания, отправки и получения электронных писем. Это может быть программа командной строки, например встроенная утилита `mail` или стороннее приложение из коллекции портов, такое как alpine, elm или mutt. В коллекции портов также доступны десятки графических программ, включая Claws Mail, Evolution и Thunderbird. Некоторые организации предоставляют веб-почту, доступную через браузер. Дополнительную информацию об установке и использовании MUA в FreeBSD можно найти в crossref:mail[mail-agents, Почтовые клиенты].
-Обычно, это программа типа mutt, alpine, elm, mail, а также программы с графическим интерфейсом, такие, как balsa или xfmail, или интегрированные приложения (например, какой-либо WWW браузер типа Netscape). Все эти программы общаются с локальным <<mail-host,почтовым сервером>>, вызывая какой-либо даемон, или напрямую по протоколу TCP.
+Почтовый агент пересылки (MTA)::
+Агент пересылки почты (MTA) отвечает за получение входящей почты и отправку исходящей. Начиная с версии FreeBSD 14.0, MTA по умолчанию — DragonFly Mail Agent (man:dma[8]); в более ранних версиях используется man:sendmail[8]. Другие MTA, такие как Exim, Postfix и qmail, могут быть установлены для замены MTA по умолчанию.
-[[mail-mta]]
-=== Почтовый даемон
+Почтовый сервер и почтовые ящики::
+Почтовый сервер — это сервер, отвечающий за доставку и получение почты для хоста или сети. Почтовый сервер собирает всю почту, отправленную в домен, и сохраняет её либо в формате `mbox` по умолчанию, либо в альтернативном формате Maildir, в зависимости от конфигурации. После сохранения почты её можно прочитать локально с помощью почтового клиента или удалённо получить с использованием протоколов, таких как POP или IMAP. Если почта читается локально, устанавливать сервер POP или IMAP не требуется.
-FreeBSD по умолчанию поставляется с sendmail, но помимо того поддерживает множество других даемонов почтового сервера, вот лишь некоторые из них:
+Система доменных имен (DNS)::
+Система доменных имен (DNS) и ее демон man:named[8] играют важную роль в доставке почты. Чтобы доставить почту от одного узла к другому, MTA ищет удаленный узел в DNS, чтобы определить, какой хост будет принимать почту для адресата. Этот процесс также происходит, когда почта отправляется с удаленного хоста на MTA.
-* exim;
-* postfix;
-* qmail.
+[[dragonFly-mail-agent]]
+== Почтовый агент DragonFly (DMA)
-Почтовый даемон выполняет только две функции: он отвечает за прием входящей почты и отправку исходящей. Он _не_ отвечает за выдачу почты по протоколам POP или IMAP, и не обеспечивает подключения к локальным почтовым ящикам [.filename]#mbox# или Maildir. Для этих целей вам может потребоваться дополнительный <<mail-receive,даемон>>.
+Почтовый агент DragonFly (DMA — DragonFly Mail Agent) — это почтовый агент, используемый в FreeBSD по умолчанию начиная с версии 14.0. man:dma[8] представляет собой небольшой почтовый транспортный агент (MTA), предназначенный для домашнего и офисного использования. Он принимает почту от локально установленных почтовых пользовательских агентов и доставляет её либо локально, либо удалённо. Удалённая доставка включает в себя такие функции, как поддержка TLS/SSL и аутентификация SMTP.
-[WARNING]
-====
-
-Старые версии sendmail содержат некоторые серьезные ошибки безопасности, которые могут привести к получению атакующим локального и/или удаленного доступа к вашему компьютеру. Убедитесь, что вы работаете с современной версией, свободной от таких ошибок. Или установите альтернативный MTA из crossref:ports[ports,Коллекции Портов FreeBSD].
-====
+man:dma[8] не предназначен в качестве замены полноценным, крупным MTA, таким как man:sendmail[8] или man:postfix[1]. Следовательно, man:dma[8] не прослушивает порт 25 для входящих соединений.
-[[mail-dns]]
-=== Email и DNS
+[[configuring-dragonfly-mail-agent]]
+=== Настройка почтового агента DragonFly
-Служба имен доменов (Domain Name System, DNS) и соответствующий ей даемон `named` играют важную роль в доставке почты. Для доставки почты с вашего сайта другому, даемон почтового сервера обратится к DNS для определения удаленного хоста, отвечающего за доставку почты по назначению. Тот же процесс происходит при доставке почты с удаленного хоста на ваш почтовый сервер.
+DMA поставляется с конфигурацией по умолчанию, которая подходит для многих вариантов установки. Пользовательские настройки определяются в [.filename]#/etc/dma/dma.conf#, а аутентификация SMTP настраивается в [.filename]#/etc/dma/auth.conf#.
-DNS отвечает за сопоставления имен хостов IP адресам, как и за хранение информации, предназначенной для доставки почты, известной как MX записи. Запись MX (Mail eXchanger) определяет хост или хосты, которые будут получать почту для определенного домена. Если для вашего имени хоста или домена нет записи MX, почта будет доставлена непосредственно на ваш хост, IP адрес которого определен в записи A.
+[[configuring-gmail-dma]]
+==== Использование DMA для маршрутизации исходящей почты через Gmail (пример STARTTLS:SMTP)
-Вы можете просмотреть MX записи для любого домена с помощью команды man:host[1], как показано в примере ниже:
-
-[source,shell]
-....
-% host -t mx FreeBSD.org
-FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org
-....
+Этот пример [.filename]#/etc/dma/dma.conf# можно использовать для отправки почты через SMTP-серверы Google.
-[[mail-receive]]
-=== Получение почты
-
-Получение почты для вашего домена выполняет почтовый сервер. Он сохраняет отправленную в ваш домен почту в формате либо [.filename]#mbox# (это метод по умолчанию), либо Maildir, в зависимости от настроек. После сохранения почты ее можно либо прочитать локально, используя такие приложения как man:mail[1], mutt, или удаленно, по таким протоколам как POP или IMAP. Это означает, что для локального чтения почты вам не потребуется устанавливать сервер POP или IMAP.
-
-[[pop-and-imap]]
-==== Доступ к удаленным почтовым ящикам по протоколам POP и IMAP
-
-Для удаленного доступа к почтовым ящикам вам потребуется доступ к POP или IMAP серверу. Хотя удаленный доступ обеспечивают оба протокола POP и IMAP, последний предоставляет множество дополнительных возможностей, вот некоторые из них:
-
-* IMAP может как хранить сообщения на удаленном сервере, так и забирать их.
-* IMAP поддерживает одновременные обновления.
-* IMAP может быть очень полезен для низкоскоростных соединений, поскольку позволяет пользователям получить структуру сообщений без их загрузки; он также может использоваться для выполнения таких задач как поиск на сервере, для минимизации объема передаваемых между клиентом и сервером данных.
-
-Для установки POP или IMAP сервера необходимо выполнить следующие действия:
-
-[.procedure]
-====
-. Выберите IMAP или POP сервер, который подходит вам наилучшим образом. Следующие POP и IMAP серверы хорошо известны и могут быть приведены в качестве примера:
-
-** qpopper;
-** teapop;
-** imap-uw;
-** courier-imap;
-** dovecot;
-
-. Установите POP или IMAP даемон, выбранный из Коллекции Портов.
-. Если потребуется, настройте [.filename]#/etc/inetd.conf# для запуска POP или IMAP сервера.
-====
-
-[WARNING]
-====
-
-Необходимо отметить, что и POP и IMAP серверы передают информацию, включая имя пользователя и пароль, в незашифрованном виде. Это означает, что если вы хотите защитить передачу информации по этим протоколам, потребуется использовать туннелирование сессий через man:ssh[1] или при помощи SSL. Туннелирование соединений описано в crossref:security[security-ssh-tunneling,Туннелирование SSH], а SSL - в crossref:security[openssl,OpenSSL].
-====
-
-[[local]]
-==== Доступ к локальным почтовым ящикам
-
-Доступ к почтовым ящикам может быть осуществлен непосредственно путем использования MUA на сервере, где эти ящики расположены. Это можно сделать используя приложения вроде mutt или man:mail[1].
-
-[[mail-host]]
-=== Почтовый хост
-
-Почтовый хост это сервер, который отвечает за отправку и получение почты для вашего компьютера, и возможно, для всей вашей сети.
-
-[[sendmail]]
-== Настройка sendmail
-
-В FreeBSD по умолчанию программой передачи почты (Mail Transfer Agent, MTA) является man:sendmail[8]. Работа sendmail заключается в приеме почты от почтовых программ пользователей (Mail User Agents, MUA) и отправке ее на соответствующий адрес, в соответствии с имеющимися настройками. sendmail может также принимать входящие соединения по сети и доставлять почту в локальные почтовые ящики или перенаправлять их другой программе.
-
-sendmail использует следующие файлы настройки:
-
-[.informaltable]
-[cols="1,1", frame="none", options="header"]
-|===
-| Имя файла
-| Назначение
-
-|[.filename]#/etc/mail/access#
-|Файл базы данных доступа sendmail
-
-|[.filename]#/etc/mail/aliases#
-|Синонимы почтовых ящиков
-
-|[.filename]#/etc/mail/local-host-names#
-|Список хостов, для которых sendmail принимает почту
-
-|[.filename]#/etc/mail/mailer.conf#
-|Настройки почтовой программы
-
-|[.filename]#/etc/mail/mailertable#
-|Таблица доставки почтовой программы
-
-|[.filename]#/etc/mail/sendmail.cf#
-|Основной файл настройки sendmail
-
-|[.filename]#/etc/mail/virtusertable#
-|Таблицы виртуальных пользователей и доменов
-|===
-
-=== [.filename]#/etc/mail/access#
-
-База данных доступа определяет список хостов или IP адресов, имеющих доступ к локальному почтовому серверу, а также тип предоставляемого доступа. Хосты могут быть перечислены как `OK`, `REJECT`, `RELAY` или просто переданы процедуре обработки ошибок sendmail с заданным сообщением об ошибке. Хостам, перечисленным с параметром по умолчанию `OK`, разрешено отправлять почты на этот хост, если адрес назначения почты принадлежит локальной машине. Все почтовые соединения от хостов, перечисленных с параметром `REJECT`, отбрасываются. Для хостов, перечисленных с параметром `RELAY`, разрешена передача через этот сервер почты с любым адресом назначения.
-
-.Настройка базы данных доступа sendmail
-[example]
-====
[.programlisting]
....
-cyberspammer.com 550 We do not accept mail from spammers
-FREE.STEALTH.MAILER@ 550 We do not accept mail from spammers
-another.source.of.spam REJECT
-okay.cyberspammer.com OK
-128.32 RELAY
+SMARTHOST smtp.gmail.com
+PORT 587
+AUTHPATH /etc/dma/auth.conf
+SECURETRANSFER
+STARTTLS
+MASQUERADE username@gmail.com
....
-====
+Аутентификацию можно настроить одной строкой в [.filename]#/etc/dma/auth.conf#:
-В этом примере приведены пять записей. К отправителям, чей адрес соответствует записи в левой части таблицы, применяется правило записанное в правой части таблицы. В первых двух примерах код ошибки будет передан процедуре обработке ошибок sendmail. В этом случае на удаленном хосте будет получено соответствующее сообщение. В следующем примере почта отбрасывается почта от определенного хоста, `another.source.of.spam`. В четвертом примере разрешается прием почты от хоста `okay.cyberspammer.com`, имя которого более точно совпадает с этой записью, чем с `cyberspammer.com` в примере выше. При более точном совпадении правила перезаписываются. В последнем примере разрешается пересылка почты от хостов с IP адресами, начинающимися с `128.32`. Эти хосты смогут отправлять почту через этот почтовый сервер для других почтовых серверов.
-
-После изменения этого файла для обновления базы данных вам потребуется запустить `make` в каталоге [.filename]#/etc/mail/#.
-
-=== [.filename]#/etc/mail/aliases#
-
-База данных синонимов содержит список виртуальных почтовых ящиков, принадлежащих другим пользователям, файлам, программам, или другим синонимам. Вот несколько примеров, которые могут быть использованы для [.filename]#/etc/mail/aliases#:
-
-.Mail Aliases
-[example]
-====
-[.programlisting]
-....
-root: localuser
-ftp-bugs: joe,eric,paul
-bit.bucket: /dev/null
-procmail: "|/usr/local/bin/procmail"
-....
-
-====
-
-Формат файла прост; имя почтового ящика слева от двоеточия сопоставляется назначению(ям) справа. В первом примере производится сопоставление почтового ящика `root` почтовому ящику `localuser`, для которого затем опять будет произведен поиск в базе данных синонимов. Если совпадений не обнаружится, сообщение будет доставлено локальному пользователю `localuser`. В следующем примере приведен список рассылки. Почта на адрес `ftp-bugs` рассылается на три локальных почтовых ящика: `joe`, `eric` и `paul`. Обратите внимание, что удалённый почтовый ящик может быть задан в виде mailto:user@example.com[user@example.com]. В следующем примере показана запись почты в файл, в данном случае [.filename]#/dev/null#. И в последнем примере показано отправление почты программе, в данном случае почтовое сообщение переправляется через канал UNIX(R) на стандартный вход [.filename]#/usr/local/bin/procmail#.
-
-После обновления этого файла вам потребуется запустить `make` в каталоге [.filename]#/etc/mail/# для обновления базы данных.
-
-=== [.filename]#/etc/mail/local-host-names#
-
-В этом файле находится список имен хостов, принимаемых программой man:sendmail[8] в качестве локальных. Поместите в этот файл любые домены или хосты, для которых sendmail должен принимать почту. Например, если этот почтовый сервер должен принимать почту для домена `example.com` и хоста `mail.example.com`, его файл [.filename]#local-host-names# может выглядеть примерно так:
-
-[.programlisting]
-....
-example.com
-mail.example.com
-....
-
-После обновления этого файла необходимо перезапустить man:sendmail[8], чтобы он смог перечитать изменения.
-
-=== [.filename]#/etc/mail/sendmail.cf#
-
-Основной файл настройки sendmail, [.filename]#sendmail.cf# управляет общим поведением sendmail, включая все, от перезаписи почтовых адресов до отправки удаленным серверам сообщений об отказе от пересылки почты. Конечно, файл настройки с таким многообразием возможностей очень сложен и подробное его описание выходит за рамки данного раздела. К счастью, для стандартных почтовых серверов изменять этот файл придется не часто.
-
-Основной файл настройки sendmail может быть собран из макроса man:m4[1], определяющего возможности и поведение sendmail. Подробнее этот процесс описан в файле [.filename]#/usr/src/contrib/sendmail/cf/README#.
-
-Для применения изменений после правки файла необходимо перезапустить sendmail.
-
-=== [.filename]#/etc/mail/virtusertable#
-
-Файл [.filename]#virtusertable# сопоставляет виртуальные почтовые домены и почтовые ящики реальным почтовым ящикам. Эти почтовые ящики могут быть локальными, удаленными, синонимами, определенными в [.filename]#/etc/mail/aliases#, или файлами.
-
-.Пример таблицы виртуального домена
-[example]
-====
[.programlisting]
....
-root@example.com root
-postmaster@example.com postmaster@noc.example.net
-@example.com joe
+username@gmail.com|smtp.gmail.com:password
....
+[NOTE]
====
-
-В примере выше мы видим сопоставление адресов для домена `example.com`. Почта обрабатывается по первому совпадению с записью в этом файле. Первая запись сопоставляет адрес mailto:root@example.com[root@example.com] локальному почтовому ящику `root`. Вторая запись сопоставляет mailto:postmaster@example.com[postmaster@example.com] локальному почтовому ящику `postmaster` на хосте `noc.example.net`. Наконец, до этого момента адрес в домене `example.com` не совпал ни с одним из предыдущих, будет применено последнее сопоставление, в которому соответствует всякое другое почтовое сообщение, отправленное на любой адрес в `example.com`. Это сообщение будет доставлено в локальный почтовый ящик `joe`.
-
-[[mail-changingmta]]
-== Установка другой почтовой программы
-
-Как уже упоминалось, FreeBSD поставляется с MTA (Mail Transfer Agent) sendmail. Следовательно, по умолчанию именно эта программа отвечает за вашу исходящую и входящую почту.
-
-Однако, по различным причинам некоторые системные администраторы заменяют системный MTA. Эти причины варьируются от простого желания попробовать другой MTA до потребности в определенных возможностях пакета, основанного на другой почтовой программе. К счастью, вне зависимости от причины, в FreeBSD такая замена выполняется просто.
-
-=== Установка нового MTA
-
-Вам предоставлен широкий выбор MTA. Начните с поиска в crossref:ports[ports,Коллекции Портов FreeBSD], где их немало. Конечно, вы можете использовать любой MTA по желанию, взятый откуда угодно, если только сможете запустить его под FreeBSD.
-
-Начните с установки нового MTA. После установки у вас будет возможность решить, действительно ли он подходит вашем нуждам, а также настроить новое программное обеспечение перед тем, как заменить им sendmail. При установке новой программы убедитесь, что она не пытается перезаписать системные файлы, такие как [.filename]#/usr/bin/sendmail#. Иначе ваша новая почтовая программа фактически начнет работать до того, как вы ее настроите.
-
-Обратитесь к документации на выбранный MTA за информацией по его настройке.
-
-[[mail-disable-sendmail]]
-=== Отключение sendmail
-
-[WARNING]
+Если у вас включена двухфакторная аутентификация, потребуется сгенерировать пароль для приложения, так как обычный пароль для входа будет отклонён. Дополнительную информацию о https://myaccount.google.com/apppasswords[паролях для приложений] смотрите в документации Google.
====
-Если вы отключите сервис исходящей почты sendmail, необходимо заменить его альтернативной системой доставки почты. Если вы не сделаете этого, системные программы, такие как man:periodic[8], не смогут отправлять сообщения по электронной почте как обычно. Многие программы в вашей системе могут требовать наличия функционирующей sendmail-совместимой системы. Если приложения будут продолжать использовать программу sendmail для отправки почты после того, как вы её отключили, почта может попасть в неактивную очередь sendmail и никогда не будет доставлена.
-====
+Выполните следующую команду для проверки конфигурации:
-Для полного отключения sendmail, включая сервис исходящей почты, используйте
-
-[.programlisting]
+[source, shell]
....
-sendmail_enable="NO"
-sendmail_submit_enable="NO"
-sendmail_outbound_enable="NO"
-sendmail_msp_queue_enable="NO"
+% echo this is a test | mail -v -s testing-email username@gmail.com
....
-в [.filename]#/etc/rc.conf#.
+[[configuring-fastmail-dma]]
+==== Использование DMA для маршрутизации исходящей почты через Fastmail (пример SSL/TLS)
-Если вы хотите отключить только сервис входящей почты sendmail, установите
+Этот пример [.filename]#/etc/dma/dma.conf# можно использовать для отправки почты через SMTP-серверы Fastmail.
[.programlisting]
....
-sendmail_enable="NO"
-....
-
-в [.filename]#/etc/rc.conf#. Дополнительная информация о параметрах запуска sendmail доступна на странице справочника man:rc.sendmail[8].
-
-=== Запуск нового MTA при загрузке
-
-Новый МТА можно запускать автоматически при загрузке системы добавив соответствующую строку в [.filename]#/etc/rc.conf#. Ниже приведен пример для postfix:
-
-[source,shell]
-....
-# echo 'postfix_enable=<<YES>>' >> /etc/rc.conf
+SMARTHOST smtp.fastmail.com
+PORT 465
+AUTHPATH /etc/dma/auth.conf
+SECURETRANSFER
+MAILNAME example.server.com
....
-С этого момента МТА будет запускаться автоматически во время загрузки системы.
-
-=== Замещение sendmail как почтовой программы по умолчанию
-
-Программа sendmail настолько распространена в качестве стандартной программы для систем UNIX(R), что многие программы считают, что она уже установлена и настроена. По этой причине многие альтернативные MTA предоставляют собственные совместимые реализации интерфейса командной строки sendmail; это облегчает их использование в качестве "прозрачной" замены sendmail.
-
-Поэтому если вы используете альтернативную почтовую программу, потребуется убедиться, что когда программное обеспечение пытается выполнить стандартные исполняемые файлы sendmail, такие как [.filename]#/usr/bin/sendmail#, на самом деле выполняются программы вновь установленной почтовой системы. К счастью, FreeBSD предоставляет систему, называемую man:mailwrapper[8], которая выполняет эту работу за вас.
-
-Когда установлен sendmail, файл [.filename]#/etc/mail/mailer.conf# выглядит примерно так:
+Аутентификацию можно настроить одной строкой в [.filename]#/etc/dma/auth.conf#:
[.programlisting]
....
-sendmail /usr/libexec/sendmail/sendmail
-send-mail /usr/libexec/sendmail/sendmail
-mailq /usr/libexec/sendmail/sendmail
-newaliases /usr/libexec/sendmail/sendmail
-hoststat /usr/libexec/sendmail/sendmail
-purgestat /usr/libexec/sendmail/sendmail
+username@fastmail.com|smtp.fastmail.com:password
....
-Это означает, что когда выполняется какая-то из этих стандартных программ (например сам [.filename]#sendmail#), система на самом деле вызывает копию mailwrapper, называемую [.filename]#sendmail#, которая обращается к [.filename]#mailer.conf# и выполняет вместо этого [.filename]#/usr/libexec/sendmail/sendmail#. Такая схема делает простой замену программ, которые на самом деле выполняются, когда вызываются стандартные функции [.filename]#sendmail#.
+Выполните следующую команду для проверки конфигурации:
-Поэтому если вы хотите выполнять [.filename]#/usr/local/supermailer/bin/sendmail-compat# вместо sendmail, отредактируйте [.filename]#/etc/mail/mailer.conf# так:
-
-[.programlisting]
+[source, shell]
....
-sendmail /usr/local/supermailer/bin/sendmail-compat
-send-mail /usr/local/supermailer/bin/sendmail-compat
-mailq /usr/local/supermailer/bin/mailq-compat
-newaliases /usr/local/supermailer/bin/newaliases-compat
-hoststat /usr/local/supermailer/bin/hoststat-compat
-purgestat /usr/local/supermailer/bin/purgestat-compat
+% echo this is a test | mail -v -s testing-email username@fastmail.com
....
-=== Запуск новой почтовой программы
-
-Как только вы все настроили, потребуется или уничтожить процесс sendmail, который уже не нужен и запустить новую почтовую программу, или просто перегрузить систему. Перезагрузка также даст вам возможность проверить, правильно ли настроена система для автоматического запуска MTA при загрузке.
-
-[[mail-trouble]]
-== Поиск и устранение неисправностей
-
-=== Почему я должен использовать FQDN для хостов вне моей подсети?
-
-Вы, видимо, обнаружили, что хост, к которому вы обратились, оказался на самом деле в другом домене; например, если вы находитесь в домене `foo.bar.edu` и хотите обратиться к хосту `mumble` в домене `bar.edu`, то должны указать его полное доменное имя, `mumble.bar.edu`, а не просто `mumble`.
+[[configuring-custom-dma]]
+==== Использование DMA для маршрутизации исходящей почты через пользовательский почтовый хост
-Традиционно, программа разрешения имен BSD BIND позволяла это делать. Однако, текущая версия BIND, поставляемая с FreeBSD, больше не добавляет имена доменов, отличающихся от того, в котором вы находитесь, для не полностью указанных имен хостов. То есть, имя `mumble` будет опознан как `mumble.foo.bar.edu` или будет искаться в корневом домене.
-
-Это отличается от предыдущего поведения, при котором поиск продолжался в доменах `mumble.bar.edu` и `mumble.edu`. Если вам интересны причины объявления такого поведения плохой практикой и даже ошибкой в безопасности, обратитесь к RFC 1535.
-
-Хорошим решением будет поместить строку
+Этот пример [.filename]#/etc/dma/dma.conf# можно использовать для отправки почты через пользовательский почтовый сервер.
[.programlisting]
....
-search foo.bar.edu bar.edu
+SMARTHOST mail.example.org
+PORT 587
+AUTHPATH /etc/dma/auth.conf
+SECURETRANSFER
+STARTTLS
....
-вместо ранее используемой:
+Аутентификацию можно настроить одной строкой в [.filename]#/etc/dma/auth.conf#:
[.programlisting]
....
-domain foo.bar.edu
+username@example.org|mail.example.org:password
....
-в файл [.filename]#/etc/resolv.conf#. Однако удостоверьтесь, что порядок поиска не нарушает "границ полномочий между локальным и внешним администрированием", в терминологии RFC 1535.
-
-=== sendmail выдает ошибку mail loops back to myself
+Выполните следующую команду для проверки конфигурации:
-В FAQ по sendmail дан следующий ответ:
-
-[.programlisting]
+[source, shell]
....
-Я получаю такие сообщения об ошибке:
-
-553 MX list for domain.net points back to relay.domain.net
-554 <user@domain.net>... Local configuration error
-
-Как можно решить эту проблему?
-
-Согласно записям MX, почта для домена domain.net перенаправляется на хост
-relay.domain.net, однако последний не распознается как
-domain.net. Добавьте domain.net в файл
-/etc/mail/local-host-names
-[известный как /etc/sendmail.cw до версии 8.10]
-(если вы используете
-FETURE(use_cw_file)) или добавьте Cw domain.net в файл
-/etc/mail/sendmail.cf.
+% echo this is a test | mail -v -s testing-email username@example.org
....
-FAQ по sendmail можно найти на http://www.sendmail.org/faq/[http://www.sendmail.org/faq/] и рекомендуется прочесть его при желании произвести некоторые "усовершенствования" настроек почтовой системы.
-
-=== Как организовать работу почтового сервера при коммутируемом соединении с Интернет?
+[[sendmail]]
+== Sendmail
-Вы хотите подключить к интернет компьютер с FreeBSD, работающий в локальной сети. Компьютер с FreeBSD будет почтовым шлюзом для локальной сети. PPP соединение не выделенное.
+Sendmail - это старейший и многофункциональный агент пересылки почты (MTA) с долгой историей в UNIX(R) и UNIX-подобных системах. Он входил в базовую систему FreeBSD вплоть до версии 13, предоставляя надежные возможности транспортировки почты, широкие варианты настройки и поддержку сложной маршрутизации и фильтрации.
-Существует как минимум два пути, чтобы сделать это. Один способ это использование UUCP.
+[[configuring-sendmail]]
+=== Файлы конфигурации
-Другой способ это использование постоянно работающего интернет сервера для обеспечения вторичного MX сервиса вашего домена. Например, домен вашей компании `example.com`, и провайдер интернет настроил `example.net` для обеспечения вторичного MX сервиса:
+Конфигурационные файлы Sendmail находятся в [.filename]#/etc/mail/#.
-[.programlisting]
+[.filename]#/etc/mail/access#::
+Этот файл базы данных доступа определяет, какие хосты или IP-адреса имеют доступ к локальному почтовому серверу и какой тип доступа им предоставлен. Хосты, указанные как `OK` (что является опцией по умолчанию), могут отправлять почту на этот хост при условии, что конечный пункт назначения почты — локальная машина. Хосты, указанные как `REJECT`, отклоняются для всех почтовых соединений. Хосты, указанные как `RELAY`, могут отправлять почту для любого адресата через этот почтовый сервер. Хосты, указанные как `ERROR`, получат возврат своей почты с указанной почтовой ошибкой. Если хост указан как `SKIP`, Sendmail прервет текущий поиск для этой записи без принятия или отклонения почты. Сообщения хостов, указанных как `QUARANTINE`, будут задержаны и хосты получат указанный текст в качестве причины задержки.
++
+Примеры использования этих параметров для адресов IPv4 и IPv6 можно найти в образце конфигурации FreeBSD, [.filename]#/etc/mail/access.sample#:
++
+Для настройки базы данных доступа используйте формат, приведенный в примере, чтобы внести записи в [.filename]#/etc/mail/access#, но не ставьте символ комментария (`+#+`) перед записями. Создайте запись для каждого хоста или сети, для которых нужно настроить доступ. Отправители почты, соответствующие левой части таблицы, будут обработаны согласно действию, указанному в правой части таблицы.
++
+При каждом обновлении этого файла обновите его базу данных и перезапустите Sendmail:
++
+[source, shell]
....
-example.com. MX 10 example.com.
- MX 20 example.net.
+# makemap hash /etc/mail/access < /etc/mail/access
+# service sendmail restart
....
-Только один хост должен быть указан в качестве последнего получателя (добавьте запись `Cw example.com` в файл [.filename]#/etc/mail/sendmail.cf# на машине `example.com`).
-
-Когда программа `sendmail` (со стороны отправителя) "захочет" доставить почту, она попытается соединиться с вашим хостом (`example.com`) через модемное подключение. Скорее всего, ей это не удастся (вы, вероятнее всего, не будете подключены к интернет). Программа sendmail автоматически перейдет ко вторичному MX серверу, т.е. вашему провайдеру (`example.net`). Вторичный MX сервер будет периодически пытаться соединиться с вашим хостом и доставить почту на основной сервер MX (`example.com`).
-
-Вы можете воспользоваться следующим сценарием, чтобы забирать почту каждый раз, когда вы входите в систему:
-
+[.filename]#/etc/mail/aliases#::
+Этот файл базы данных содержит список виртуальных почтовых ящиков, которые преобразуются в пользователей, файлы, программы или другие псевдонимы. Вот несколько записей, иллюстрирующих формат файла:
++
[.programlisting]
....
-#!/bin/sh
-# Put me in /usr/local/bin/pppmyisp
-( sleep 60 ; /usr/sbin/sendmail -q ) &
-/usr/sbin/ppp -direct pppmyisp
+root: localuser
+ftp-bugs: joe,eric,paul
+bit.bucket: /dev/null
+procmail: "|/usr/local/bin/procmail"
....
++
+Имя почтового ящика слева от двоеточия раскрывается в целевые адреса справа. Первая запись раскрывает почтовый ящик `root` в почтовый ящик `localuser`, который затем ищется в базе данных [.filename]#/etc/mail/aliases#. Если совпадение не найдено, сообщение доставляется в `localuser`. Вторая запись показывает почтовый список. Письма для `ftp-bugs` раскрываются в три локальных почтовых ящика: `joe`, `eric` и `paul`. Удалённый почтовый ящик может быть указан как _user@example.com_. Третья запись демонстрирует, как записывать почту в файл, в данном случае [.filename]#/dev/null#. Последняя запись показывает, как отправить почту в программу [.filename]#/usr/local/bin/procmail# через UNIX(R)-канал. Дополнительную информацию о формате этого файла можно найти в man:aliases[5].
++
+Всякий раз, когда этот файл обновляется, выполните `newaliases` для обновления и инициализации базы данных псевдонимов.
-Если же вы хотите написать отдельный пользовательский скрипт, лучше воспользоваться командой `sendmail -qRexample.com` вместо вышеприведенного сценария, так как в этом случае вся почта в очереди для хоста `example.com` будет обработана немедленно.
-
-Рассмотрим эту ситуацию подробнее:
-
-Вот пример сообщения из link:{freebsd-isp-url}[freebsd-isp].
+[.filename]#/etc/mail/sendmail.cf#::
+Это основной конфигурационный файл для Sendmail. Он определяет общее поведение Sendmail, включая все — от перезаписи email-адресов до вывода сообщений об отказе для удалённых почтовых серверов. Соответственно, этот конфигурационный файл довольно сложен. К счастью, для стандартных почтовых серверов его редко требуется изменять.
++
+Основной конфигурационный файл Sendmail может быть создан из макросов man:m4[1], определяющих функции и поведение Sendmail. Подробности можно найти в [.filename]#/usr/src/contrib/sendmail/cf/README#.
++
+Всякий раз, когда в этот файл вносятся изменения, Sendmail необходимо перезапустить, чтобы изменения вступили в силу.
+[.filename]#/etc/mail/virtusertable#::
+Этот файл базы данных сопоставляет почтовые адреса виртуальных доменов и пользователей с реальными почтовыми ящиками. Эти почтовые ящики могут быть локальными, удалёнными, алиасами, определёнными в [.filename]#/etc/mail/aliases#, или файлами. Это позволяет размещать несколько виртуальных доменов на одной машине.
++
+FreeBSD предоставляет пример файла конфигурации в [.filename]#/etc/mail/virtusertable.sample#, который дополнительно демонстрирует его формат. В следующем примере показано, как создавать пользовательские записи с использованием этого формата:
++
[.programlisting]
....
-> Мы предоставляем вторичный MX для наших клиентов. Вы соединяетесь
-> с нашим сервером несколько раз в день, чтобы забрать почту для вашего
-> первичного (главного) MX (мы не соединяемся с ним каждый раз, когда
-> приходит новая почта для его доменов). Далее, sendmail отправляет
-> почту, находящуюся в очереди каждые 30 минут, и клиент должен быть
-> подключен к Интернет в течении 30 минут, чтобы удостовериться, что
-> вся почта ушла на основной MX-сервер.
->
-> Может быть, есть какая-либо команда, которая заставит sendmail
-> немедленно отправить все почту, находящуюся в очереди? Естественно,
-> пользователи не обладают какими-либо повышенными привилегиями на
-> нашем сервере.
-
-В разделе privacy flags файла
-sendmail.cf, определяется опция
-Opgoaway,restrictqrun
-
-Уберите restrictqrun, чтобы разрешить рядовым
-пользователям инициировать работу с очередью. Вам также может понадобиться
-изменить порядок MX-серверов. Так, если вы предоставляете первый (основной)
-MX-сервер для ваши пользователей, мы указываем:
-
-# If we are the best MX for a host, try directly instead of generating
-# local config error.
-OwTrue
-
-Таким образом, удаленный хост будет доставлять почту непосредственно к вам,
-не пытаясь установить соединение с клиентом. Затем уже вы, в свою очередь,
-отсылаете ее клиенту. Удостоверьтесь, что в DNS есть записи про
-customer.com и hostname.customer.com. Просто
-добавьте запись A в DNS для customer.com.
+root@example.com root
+postmaster@example.com postmaster@noc.example.net
+@example.com joe
....
-
-=== Почему я продолжаю получать ошибки Relaying Denied при отправки почты через другие хосты?
-
-В установке FreeBSD по умолчанию, sendmail настроен для отправки почты только от хоста, на котором он работает. Например, если доступен POP сервер, пользователи смогут проверять почту из школы, с работы или других удаленных точек, но не смогут отправлять письма. Обычно, через некоторое время после попытки будет отправлено письмо от MAILER-DAEMON с сообщением об ошибке `5.7 Relaying Denied`.
-
-Есть несколько путей разрешения этой ситуации. Самый прямой путь это использование адреса вашего провайдера в файле relay-domains, расположенном в [.filename]#/etc/mail/relay-domains#. Быстрый способ сделать это:
-
-[source,shell]
++
+Этот файл обрабатывается по принципу первого совпадения. Когда электронный адрес соответствует адресу слева, он сопоставляется с локальным почтовым ящиком, указанным справа. Формат первой записи в этом примере сопоставляет конкретный электронный адрес с локальным почтовым ящиком, тогда как формат второй записи сопоставляет конкретный электронный адрес с удалённым почтовым ящиком. Наконец, любой электронный адрес из `example.com`, который не совпал ни с одной из предыдущих записей, будет соответствовать последнему сопоставлению и отправлен в локальный почтовый ящик `joe`. При создании пользовательских записей используйте этот формат и добавляйте их в [.filename]#/etc/mail/virtusertable#. При каждом редактировании этого файла обновите его базу данных и перезапустите Sendmail:
++
+[source, shell]
....
-# echo "your.isp.example.com" > /etc/mail/relay-domains
+# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
+# service sendmail restart
....
-После создания или редактирования этого файла вы должны перезапустить sendmail. Это отлично работает, если вы администратор сервера и не хотите отправлять почту локально, или хотите воспользоваться почтовым клиентом/системой на другом компьютере или даже через другого провайдера. Это также очень полезно, если у вас настроены одна или две почтовые записи. Если необходимо добавить несколько адресов, вы можете просто открыть этот файл в текстовом редакторе и добавить домены, по одному на строку:
-
+[.filename]#/etc/mail/relay-domains#::
+В стандартной установке FreeBSD Sendmail настроен так, чтобы отправлять почту только с хоста, на котором он работает. Например, если доступен POP-сервер, пользователи смогут проверять почту с удалённых устройств, но не смогут отправлять письма извне. Обычно через некоторое время после попытки отправки придёт письмо от `MAILER-DAEMON` с сообщением `5.7 Relaying Denied`.
++
+Наиболее простое решение — добавить полное доменное имя (FQDN) провайдера в [.filename]#/etc/mail/relay-domains#. Если требуется добавить несколько адресов, укажите их по одному на строку:
++
[.programlisting]
....
your.isp.example.com
@@ -510,312 +266,188 @@ other.isp.example.net
users-isp.example.org
www.example.org
....
++
+После создания или редактирования этого файла перезапустите Sendmail с помощью команды `service sendmail restart`.
++
+Теперь любая почта, отправленная через систему с любого хоста из этого списка, при условии, что у пользователя есть учетная запись в системе, будет доставлена успешно. Это позволяет пользователям отправлять почту с системы удаленно, не открывая систему для ретрансляции СПАМа из Интернета.
-Теперь будет отправляться любая почта, посылаемая через вашу систему любым хостом из этого списка (предоставляемого пользователем, имеющим учетную запись в вашей системе). Это отличный способ разрешить пользователям отправлять почту через вашу систему удаленно, одновременно он блокирует отправку спама.
-
-[[mail-advanced]]
-== Расширенное руководство
-
-В следующем разделе рассматриваются более сложные темы, такие как настройка почты и включение почтовой системы для всего домена.
-
-[[mail-config]]
-=== Базовая конфигурация
-
-Изначально, вы можете отправлять почту "во внешний мир" если правильно составлен файл [.filename]#/etc/resolv.conf# или запущен свой сервер имен. Если вы хотите, чтобы почта, предназначенная для хоста в вашем домене, доставлялась MTA (например, sendmail) на вашем хосте FreeBSD, есть два пути:
-
-* Запустите свой собственный сервер DNS, тем самым организовав собственный домен, например, `FreeBSD.org`
-* Получайте почту для вашего хоста непосредственно. Это работает при доставке почты непосредственно на DNS имя вашей машины. Например, `example.FreeBSD.org`.
+[[mail-changingmta]]
+== Изменение агента передачи почты
-Независимо от выбранного из предложенных выше вариантов, для доставки почты непосредственно на ваш хост у него должен быть постоянный IP адрес (а не динамический, как у большинства PPP соединений). Если вы находитесь за брандмауэром, то последний должен пропускать SMTP-пакеты. Если вы хотите, чтобы почта приходила непосредственно на ваш хост, необходимо убедиться в одном из двух:
+Начиная с версии FreeBSD 14.0, man:dma[8] является MTA по умолчанию, а до версии 14.0 MTA по умолчанию — man:sendmail[8]. Однако системный администратор может изменить MTA системы. Широкий выбор альтернативных MTA доступен в категории `mail` коллекции портов FreeBSD.
-* Убедитесь, что запись (с наименьшим номером) MX в DNS соответствует IP адресу вашего хоста.
-* Убедитесь, что в DNS для вашего хоста вообще отсутствует MX-запись.
+[WARNING]
+====
+Если исходящая почтовая служба по умолчанию отключена, важно заменить её альтернативной системой доставки почты. В противном случае системные функции, такие как man:periodic[8], не смогут отправлять свои результаты по электронной почте. Многие части системы предполагают наличие работоспособного MTA. Если приложения продолжат использовать стандартные исполняемые файлы для отправки почты после их отключения, письма могут попасть в неактивную очередь и никогда не быть доставлены.
+====
-Выполнение любого из перечисленных условий обеспечит доставку почты для вашего хоста.
+[[replace-sendmail-dma]]
+=== Замена Sendmail на другой MTA
-Попробуйте это:
+Чтобы полностью отключить man:sendmail[8], выполните следующие команды:
-[source,shell]
+[source, shell]
....
-# hostname
-example.FreeBSD.org
-# host example.FreeBSD.org
-example.FreeBSD.org has address 204.216.27.XX
+# sysrc sendmail_enable="NO"
+# sysrc sendmail_submit_enable="NO"
+# sysrc sendmail_outbound_enable="NO"
+# sysrc sendmail_msp_queue_enable="NO"
....
-Если вы это видите, то можно без проблем посылать почту на fmailto:yourlogin@example.FreeBSD.org[yourlogin@example.FreeBSD.org] (предполагается, что sendmail на `example.FreeBSD.org` работает правильно).
-
-Однако, если вы видите это:
+Чтобы отключить только службу входящей почты man:sendmail[8], выполните следующую команду:
-[source,shell]
+[source, shell]
....
-# host example.FreeBSD.org
-example.FreeBSD.org has address 204.216.27.XX
-example.FreeBSD.org mail is handled (pri=10) by hub.FreeBSD.org
+# sysrc sendmail_enable="NO"
....
-то вся почта, посланная на `example.FreeBSD.org` будет собираться на `hub` (для того же пользователя), вместо того, чтобы быть отосланной непосредственно на ваш хост.
+Затем остановите службу man:sendmail[8]:
-Эта информация обрабатывается вашим DNS сервером. Соответствующая запись DNS, указывающая, через какой хост будет проходить ваша почта, называется MX (__M__ail e__X__changer). Если для хоста отсутствует такая запись, почта будет приходить прямо на этот хост.
+[source, shell]
+....
+# service sendmail onestop
+....
-Допустим, что запись MX для хоста `freefall.FreeBSD.org` в какой-то момент выглядела так:
+Для корректной работы некоторых программ может потребоваться дополнительная настройка, так как man:sendmail[8] настолько распространён, что многие приложения предполагают его наличие и предварительную конфигурацию. Проверьте файл [.filename]#/etc/periodic.conf# и убедитесь, что указанные ниже параметры установлены в значение `NO`. Если файл не существует, создайте его и добавьте следующие записи:
[.programlisting]
....
-freefall MX 30 mail.crl.net
-freefall MX 40 agora.rdrop.com
-freefall MX 10 freefall.FreeBSD.org
-freefall MX 20 who.cdrom.com
+daily_clean_hoststat_enable="NO"
+daily_status_mail_rejects_enable="NO"
+daily_status_include_submit_mailq="NO"
+daily_submit_queuerun="NO"
....
-Вы видите, что для хоста `freefall` существуют несколько MX-записей. Запись с наименьшим номером соответствует хосту, получающему почту непосредственно, если он доступен; если он недоступен по каким-то причинам, другие сервера (иногда называемые ("резервными MX") временно получают почту, и хранят ее пока не станут доступны хосты с меньшими номерами, в конечном итоге отправляя почту на эти хосты.
-
-Чтобы альтернативные MX-хосты использовались наиболее эффективно, они должны быть независимо подключены к Интернет. Ваш провайдер (или дружественный сайт) скорее всего без проблем сможет оказать подобные услуги.
-
-[[mail-domain]]
-=== Почта для вашего домена
-
-Для настройки "почтового хоста" (почтовый сервер) вам потребуется, чтобы почта, направляемая различным рабочим станциям, пересылалась этому хосту. Обычно вам необходима доставка всей почты для любого хоста вашего домена (в данном случае `*.FreeBSD.org`) на почтовый сервер, чтобы пользователи могли получать свою почту на с этого сервера.
+Следующий шаг — установка другого MTA, в данном примере будет использоваться man:dma[8]. Как упоминалось выше, man:dma[8] является MTA по умолчанию в FreeBSD начиная с версии 14.0. Следовательно, установка из портов требуется только при использовании более ранней версии.
-Чтобы облегчить себе (и другим) жизнь, создайте на обеих машинах учетные записи с одинаковыми именами пользователей, например, с помощью команды man:adduser[8].
+Для установки выполните следующую команду:
-Сервер, который вы будете использовать в качестве почтового, должен быть объявлен таковым для каждой машины в домене. Вот фрагмент примерной конфигурации:
-
-[.programlisting]
+[source, shell]
....
-example.FreeBSD.org A 204.216.27.XX ; Рабочая станция
- MX 10 hub.FreeBSD.org ; Почтовый шлюз
+# pkg install dma
....
-Таким образом, вся корреспонденция, адресованная рабочей станции, будет обрабатываться вашим почтовым сервером, независимо от того, что указано в A-записи.
+Выполните настройку, как указано в разделе crossref:mail[configuring-dragonfly-mail-agent, Настройка почтового агента DragonFly (DMA)].
-Все это можно реализовать только в том случае, если вы используете сервер DNS. Если вы по каким-либо причинам не имеете возможности установить свой собственный сервер имен, необходимо договориться с провайдером или теми, кто поддерживает ваш DNS.
-
-Если вы хотите поддерживать несколько виртуальных почтовых серверов, может пригодиться следующая информация. Допустим, что ваш клиент зарезервировал домен, например, `customer1.org`, и вам требуется, чтобы почта, предназначенная для `customer1.org` приходила на ваш хост, например, `mail.myhost.com`. В таком случае, DNS должен выглядеть так:
+Затем измените все записи в файле [.filename]#/etc/mail/mailer.conf# на man:dma[8]:
[.programlisting]
....
-customer1.org MX 10 mail.myhost.com
+# Execute the "real" sendmail program, named /usr/libexec/sendmail/sendmail
+#
+# If dma(8) is installed, an example mailer.conf that uses dma(8) instead can
+# be found in /usr/share/examples/dma
+#
+sendmail /usr/local/libexec/dma
+mailq /usr/local/libexec/dma
+newaliases /usr/local/libexec/dma
....
-Заметьте, что если вам требуется только получать почту для домена, соответствующая A-запись _не_ нужна.
-
[NOTE]
====
-Помните, что если вы попытаетесь каким-либо образом обратиться к хосту `customer1.org`, у вас вряд ли что-либо получится, если нет A-записи для этого хоста.
+При использовании версии man:dma[8], включенной в базовую систему, пути изменятся на [.filename]#/usr/libexec/dma#.
====
-Последнее, что вы должны сделать - это сказать программе sendmail, для каких доменов и/или хостов она должна принимать почту. Это можно сделать несколькими способами:
-
-* Добавьте названия этих хостов в файл [.filename]#/etc/mail/local-host-names#, если вы используете `FEATURE(use_cw_file)`. Если у вас sendmail версии ниже 8.10, необходимо отредактировать файл [.filename]#/etc/sendmail.cw#.
-* Добавьте строку `Cwyour.host.com` в файл [.filename]#/etc/sendmail.cf# или [.filename]#/etc/mail/sendmail.cf# (если у вас sendmail версии 8.10 или более поздней).
-
-[[outgoing-only]]
-== Настройка почты только для отправки
-
-Существует множество случаев, когда может потребоваться только отправка почты через почтовый сервер. Вот отдельные примеры:
-
-* У вас настольный компьютер, но вы хотите использовать такие программы как man:send-pr[1]. Для пересылки почты вам потребуется использовать почтовый сервер провайдера.
-* Ваш компьютер является сервером, где почта не хранится локально, необходима только переправка всей почты через внешний почтовый сервер.
-
-Практически любой MTA способен работать и в этих условиях. К сожалению, может быть очень сложно правильно настроить полноценный MTA для работы только с исходящей почтой. Такие программы, как sendmail и postfix слишком избыточны для этих целей.
-
-К тому же, если вы используете обычные средства доступа в интернет, условий для запуска "почтового сервера" может быть недостаточно.
-
-Простейшим способом удовлетворить имеющиеся потребности может быть установка порта package:mail/ssmtp[]. Выполните под `root` следующие команды:
+Чтобы обеспечить сброс всего, что находится в очереди, при загрузке или перед завершением работы, выполните следующую команду:
-[source,shell]
+[source, shell]
....
-# cd /usr/ports/mail/ssmtp
-# make install replace clean
-....
-
-После установки потребуется настроить package:mail/ssmtp[] с помощью файла из четырех строк, расположенного в [.filename]#/usr/local/etc/ssmtp/ssmtp.conf#:
-
-[.programlisting]
+# sysrc dma_flushq_enable="YES"
....
-root=yourrealemail@example.com
-mailhub=mail.example.com
-rewriteDomain=example.com
-hostname=_HOSTNAME_
-....
-
-Убедитесь, что используете существующий почтовый адрес для `root`. Введите сервер вашего провайдера для пересылки исходящей почты вместо `mail.example.com` (некоторые провайдеры называют его "сервером исходящей почты" или "SMTP сервером").
-Убедитесь, что вы выключили sendmail, включая сервис исходящей почты. За подробностями обращайтесь к <<mail-disable-sendmail>>.
+После завершения настройки рекомендуется перезагрузить систему. Перезагрузка позволяет убедиться, что система корректно настроена для автоматического запуска нового MTA при загрузке.
-У пакета package:mail/ssmtp[] имеются и другие параметры. Обратитесь к файлу с примером настройки в [.filename]#/usr/local/etc/ssmtp# или к странице справочника ssmtp за примерами и дополнительной информацией.
+[[replace-dma]]
+=== Замена почтового агента DragonFly (DMA) на другой MTA
-Установка ssmtp таким способом позволит правильно работать любым программам на вашем компьютере, которым требуется отправка почты, но не нарушит политику вашего провайдера и не позволит вашему компьютеру быть использованным спамерами.
+Как упоминалось выше, начиная с FreeBSD версии 14.0, MTA по умолчанию — DMA. В этом примере будет использоваться package:mail/postfix[] в качестве альтернативного MTA.
-[[SMTP-dialup]]
-== Использование почты с коммутируемым соединением
-
-Если у вас есть статический IP, настройки по умолчанию менять не потребуется. Установите имя хоста в соответствии с присвоенным именем интернет и sendmail будет делать свою работу.
-
-Если у вас динамический IP адрес и используется коммутируемое PPP соединение с интернет, у вас возможно уже есть почтовый ящик на сервере провайдера. Предположим, что домен провайдера называется `example.net`, и что ваше имя пользователя `user`, ваш компьютер называется `bsd.home`, и провайдер сообщил вам, что возможно использование `relay.example.net` в качестве сервера для пересылки почты.
-
-Для получения почты из почтового ящика необходима установка соответствующей программы. Хорошим выбором является утилита fetchmail, она поддерживает множество различных протоколов. Эта программа доступна в виде пакета или из Коллекции Портов (package:mail/fetchmail[]). Обычно провайдер предоставляет доступ по протоколу POP. Если вы работаете с пользовательским PPP, то можете автоматически забирать почту после установления соединения с интернет с помощью следующей записи в [.filename]#/etc/ppp/ppp.linkup#:
+Перед установкой пакета package:mail/postfix[] требуется дополнительная настройка. Проверьте файл [.filename]#/etc/periodic.conf# и убедитесь, что указанные значения установлены в `NO`. Если файл не существует, создайте его со следующими записями:
[.programlisting]
....
-MYADDR:
-!bg su user -c fetchmail
+daily_clean_hoststat_enable="NO"
+daily_status_mail_rejects_enable="NO"
+daily_status_include_submit_mailq="NO"
+daily_submit_queuerun="NO"
....
-Если вы используете sendmail (как показано ниже) для доставки почты к не-локальным учетным записям, вам возможно потребуется обработка почтовой очереди sendmail сразу после установки соединения с интернет. Для выполнения этой работы поместите в [.filename]#/etc/ppp/ppp.linkup# следующую команду сразу после `fetchmail`:
+Затем установите пакет package:mail/postfix[]:
-[.programlisting]
+[source, shell]
....
- !bg su user -c "sendmail -q"
+# pkg install postfix
....
-Предполагается, что учетная запись для `user` существует на `bsd.home`. В домашнем каталоге `user` на `bsd.home`, создайте файл [.filename]#.fetchmailrc#:
+Чтобы запустить пакет package:mail/postfix[] при загрузке системы, выполните следующую команду:
-[.programlisting]
-....
-poll example.net protocol pop3 fetchall pass MySecret
+[source, shell]
....
-
-Этот файл не должен быть доступен на чтение никому, кроме `user`, поскольку в нем находится пароль `MySecret`.
-
-Для отправки почты с правильным заголовком `from:`, вам потребуется сообщить sendmail использовать mailto:user@example.net[user@example.net] вместо mailto:user@bsd.home[user@bsd.home]. Вы можете также указать sendmail отправлять почту через `relay.example.net`, для более быстрой пересылки почты.
-
-Должен подойти следующий файл [.filename]#.mc#:
-
-[.programlisting]
+# sysrc postfix_enable="YES"
....
-VERSIONID(`bsd.home.mc version 1.0')
-OSTYPE(bsd4.4)dnl
-FEATURE(nouucp)dnl
-MAILER(local)dnl
-MAILER(smtp)dnl
-Cwlocalhost
-Cwbsd.home
-MASQUERADE_AS(`example.net')dnl
-FEATURE(allmasquerade)dnl
-FEATURE(masquerade_envelope)dnl
-FEATURE(nocanonify)dnl
-FEATURE(nodns)dnl
-define(`SMART_HOST', `relay.example.net')
-Dmbsd.home
-define(`confDOMAIN_NAME',`bsd.home')dnl
-define(`confDELIVERY_MODE',`deferred')dnl
-....
-
-Обратитесь к предыдущему разделу за информацией о том, как преобразовать этот файл [.filename]#.mc# в файл [.filename]#sendmail.cf#. Не забудьте также перезапустить sendmail после обновления [.filename]#sendmail.cf#.
-
-[[SMTP-Auth]]
-== SMTP аутентификация
-
-Наличие SMTP аутентификации на почтовом сервере дает множество преимуществ. SMTP аутентификация может добавить дополнительный уровень безопасности к sendmail, и позволяет мобильным пользователям, подключающимся к разным хостам, возможность использовать тот же почтовый сервер без необходимости перенастройки почтового клиента при каждом подключении.
-[.procedure]
+[TIP]
+====
+Хорошей практикой является прочтение сообщения после установки приложения. Оно содержит полезную информацию о настройках и т.д.
====
-. Установите package:security/cyrus-sasl2[] из портов. Вы можете найти этот порт в package:security/cyrus-sasl2[]. В пакете package:security/cyrus-sasl2[] есть множество параметров компиляции. Для используемого здесь метода SMTP аутентификации убедитесь, что параметр `LOGIN` не отключен.
-. После установки package:security/cyrus-sasl2[], отредактируйте [.filename]#/usr/local/lib/sasl2/Sendmail.conf# (или создайте его если он не существует) и добавьте следующую строку:
-+
-[.programlisting]
-....
-pwcheck_method: saslauthd
-....
-+
-. Затем установите package:security/cyrus-sasl2-saslauthd[] и добавьте в [.filename]#/etc/rc.conf# следующую строку:
-+
-[.programlisting]
-....
-saslauthd_enable="YES"
-....
-+
-а затем запустите saslauthd:
-+
-[source,shell]
-....
-# service saslauthd start
-....
-+
-Этот даемон является посредником для аутентификации sendmail через базу данных [.filename]#passwd# FreeBSD. Это позволяет избежать проблем, связанных с созданием нового набора имен пользователей и паролей для каждого пользователя, которому необходима SMTP аутентификация, пароль для входа в систему и для отправки почты будет одним и тем же.
-. Теперь отредактируйте [.filename]#/etc/make.conf# и добавьте следующие строки:
-+
-[.programlisting]
-....
-SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
-SENDMAIL_LDFLAGS=-L/usr/local/lib
-SENDMAIL_LDADD=-lsasl2
-....
-+
-Эти параметры необходимы sendmail для подключения package:cyrus-sasl2[] во время компиляции. Убедитесь, что package:cyrus-sasl2[] был установлен до перекомпиляции sendmail.
-. Перекомпилируйте sendmail, выполнив следующие команды:
-+
-[source,shell]
-....
-# cd /usr/src/lib/libsmutil
-# make cleandir && make obj && make
-# cd /usr/src/lib/libsm
-# make cleandir && make obj && make
-# cd /usr/src/usr.sbin/sendmail
-# make cleandir && make obj && make && make install
-....
-+
-Компиляция sendmail должна пройти без проблем, если [.filename]#/usr/src# не был сильно изменен и доступны необходимые разделяемые библиотеки.
-. После компилирования и переустановки sendmail, отредактируйте файл [.filename]#/etc/mail/freebsd.mc# (или тот файл, который используется в качестве [.filename]#.mc#; многие администраторы используют в качестве имени этого файла вывод man:hostname[1] для обеспечения уникальности). Добавьте к нему следующие строки:
-+
-[.programlisting]
+Если postfix *ещё не* активирован в [.filename]#/usr/local/etc/mail/mailer.conf#, выполните следующие команды:
+
+[source, shell]
....
-dnl set SASL options
-TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
-define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
+mv /usr/local/etc/mail/mailer.conf /usr/local/etc/mail/mailer.conf.old
+install -d /usr/local/etc/mail
+install -m 0644 /usr/local/share/postfix/mailer.conf.postfix /usr/local/etc/mail/mailer.conf
....
-+
-Эти параметры настраивают различные методы, доступные sendmail для аутентификации пользователей. Если вы хотите использовать вместо pwcheck другой метод, обратитесь к прилагаемой документации.
-. Наконец, запустите man:make[1] в каталоге [.filename]#/etc/mail#. Из файла [.filename]#.mc# будет создан файл [.filename]#.cf#, называющийся [.filename]#freebsd.cf# (или с тем именем, которое было использовано для файла [.filename]#.mc#). Затем используйте команду `make install restart`, которая скопирует файл в [.filename]#sendmail.cf#, и правильно перезапустит sendmail. Дополнительная информация об этом процессе находится в [.filename]#/etc/mail/Makefile#.
-====
-Если все шаги пройдены успешно, введите информацию для аутентификации в настройки почтового клиента и отправьте тестовое сообщение. Для определения причин возможных ошибок установите параметр sendmail `LogLevel` в 13 и просмотрите [.filename]#/var/log/maillog#.
+При использовании SASL убедитесь, что postfix имеет доступ на чтение файла sasldb. Это достигается добавлением postfix в группу mail и установкой прав на чтение для группы mail для файлов [.filename]#/usr/local/etc/sasldb*# (это должно быть настроено по умолчанию при новых установках).
-За дальнейшей информацией обратитесь к странице sendmail, посвященной http://www.sendmail.org/~ca/email/auth.html[ SMTP аутентификации].
+После завершения настройки рекомендуется перезагрузить систему. Перезагрузка позволяет убедиться, что система корректно настроена для автоматического запуска нового MTA при загрузке.
[[mail-agents]]
-== Почтовые программы пользователей
+== Почтовые клиенты
-Почтовая программа пользователя (Mail User Agent, MUA) это приложение, используемое для отправки и получения почты. Кроме того, поскольку почта "эволюционирует" и становится более сложной, MUA совершенствуют свои функции по обработке почты, становятся более удобны в использовании. FreeBSD поддерживает множество различных пользовательских почтовых программ, каждая из которых может быть легко установлена из crossref:ports[ports,Коллекции Портов FreeBSD]. Пользователи могут выбирать между графическими почтовыми клиентами, такими как evolution или balsa, консольными клиентами, такими как mutt, alpine или `mail`, или Web-интерфейсами, используемыми в некоторых больших организациях.
+MUA — это приложение, используемое для отправки и получения электронной почты. По мере того как электронная почта «развивается» и становится сложнее, MUA становятся всё более мощными и предоставляют пользователям больше функциональности и гибкости. В категории `mail` коллекции портов FreeBSD содержится множество MUA. Среди них есть графические клиенты электронной почты, такие как Evolution или Balsa, а также консольные клиенты, такие как mutt или alpine.
[[mail-command]]
=== mail
-В FreeBSD в качестве MUA по умолчанию используется man:mail[1]. Это консольный MUA, предоставляющий все основные функции, необходимые для отправки и получения текстовых сообщений, хотя его возможности по работе с вложениями ограничены и он может работать только с локальными почтовыми ящиками.
+man:mail[1] — это почтовый клиент (MUA), установленный в FreeBSD по умолчанию. Это консольный MUA, предоставляющий базовые функции для отправки и получения текстовых электронных писем. Он имеет ограниченную поддержку вложений и может работать только с локальными почтовыми ящиками.
-Хотя `mail` не поддерживает работу с серверами POP или IMAP, эти почтовые ящики могут быть загружены в локальный файл [.filename]#mbox# с помощью fetchmail, который будет обсуждаться далее в этой главе (<<mail-fetchmail>>).
+Хотя man:mail[1] изначально не поддерживает взаимодействие с серверами POP или IMAP, эти почтовые ящики могут быть загружены в локальный `mbox` с помощью таких приложений, как fetchmail или getmail.
-Для отправки и получения почты выполните `mail`:
+Для отправки и получения электронной почты запустите man:mail[1]:
-[source,shell]
+[source, shell]
....
% mail
....
-Содержимое почтового ящика в каталоге [.filename]#/var/mail# будет автоматически прочитано утилитой `mail`. Если почтовый ящик пуст, утилита завершит работу с сообщением о том, что почта не была обнаружена. После чтения почтового ящика запустится интерфейс программы и будет отображен список сообщений. Сообщения нумеруются автоматически и будут выглядеть как в этом примере:
+Содержимое почтового ящика пользователя в [.filename]#/var/mail# автоматически читается утилитой man:mail[1]. Если почтовый ящик пуст, программа завершает работу с сообщением о том, что почта не найдена. Если письма есть, запускается интерфейс приложения и отображается список сообщений.
+
+Сообщения автоматически нумеруются, как видно в следующем примере:
-[source,shell]
+[.programlisting]
....
Mail version 8.1 6/6/93. Type ? for help.
-"/var/mail/marcs": 3 messages 3 new
+"/var/mail/username": 3 messages 3 new
>N 1 root@localhost Mon Mar 8 14:05 14/510 "test"
N 2 root@localhost Mon Mar 8 14:05 14/509 "user account"
N 3 root@localhost Mon Mar 8 14:05 14/509 "sample"
....
-Теперь сообщения могут быть прочитаны с помощью команды kbd:[t], завершаемой номером сообщения, которое должно быть отображено. В этом примере мы прочтем первое сообщение:
+Сообщения теперь можно читать, набрав kbd:[t] и затем номер сообщения.
+
+Этот пример читает первое письмо:
-[source,shell]
+[.programlisting]
....
& t 1
Message 1:
From root@localhost Mon Mar 8 14:05:52 2004
-X-Original-To: marcs@localhost
-Delivered-To: marcs@localhost
-To: marcs@localhost
+X-Original-To: username@localhost
+Delivered-To: username@localhost
+To: username@localhost
Subject: test
Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)
From: root@localhost (Charlie Root)
@@ -823,11 +455,15 @@ From: root@localhost (Charlie Root)
This is a test message, please reply if you receive it.
....
-Как видно в примере выше, клавиша kbd:[t] выводит сообщение со всеми заголовками. Для повторного вывода списка сообщений необходимо использовать клавишу kbd:[h].
+Как видно в этом примере, сообщение будет отображено с полными заголовками.
-Если требуется ответить на сообщение, используйте для ответа `mail`, нажав клавишу kbd:[R] или kbd:[r]. Клавиша kbd:[R] используется в `mail` для ответа только отправителю, а kbd:[r] для ответа и отправителю, и другим получателям сообщения. Вы можете также завершить эти команды номером письма, на которое хотите составить ответ. После этого необходимо ввести ответ, конец сообщения должен быть завершен символом kbd:[.] на новой строке. Пример можно увидеть ниже:
+Чтобы снова отобразить список сообщений, нажмите kbd:[h].
-[source,shell]
+Если требуется ответить на письмо, нажмите либо kbd:[R], либо kbd:[r] man:mail[1]. kbd:[R] указывает man:mail[1] ответить только отправителю письма, а kbd:[r] — всем остальным получателям сообщения. Эти команды могут быть дополнены номером письма, на которое нужно ответить. После ввода ответа конец сообщения должен быть обозначен отдельной строкой с kbd:[.].
+
+Пример можно увидеть ниже:
+
+[.programlisting]
....
& R 1
To: root@localhost
@@ -838,9 +474,9 @@ Thank you, I did get your email.
EOT
....
-Для отправки нового сообщения используйте клавишу kbd:[m] и введите адрес получателя. Несколько получателей могут быть указаны через запятую. Введите тему сообщения и его содержимое. Конец сообщения отмечается помещением символа kbd:[.] на новой строке.
+Чтобы отправить новое письмо, нажмите kbd:[m], затем введите адрес электронной почты получателя. Несколько получателей можно указать, разделяя каждый адрес разделителем kbd:[,]. Затем можно ввести тему сообщения, за которым следует содержимое сообщения. Конец сообщения указывается отдельной строкой с символом kbd:[.].
-[source,shell]
+[.programlisting]
....
& mail root@localhost
Subject: I mastered mail
@@ -850,200 +486,336 @@ Now I can send and receive email using mail ... :)
EOT
....
-В утилите `mail` для вызова справки в любой момент может быть использована команда kbd:[?], для получения помощи по `mail` необходимо также обратиться к странице справочника man:mail[1].
+При использовании man:mail[1] нажмите kbd:[?], чтобы в любой момент отобразить справку. Дополнительную информацию об использовании man:mail[1] можно найти в man:mail[1].
[NOTE]
====
-Как упоминалось выше, команда man:mail[1] не была первоначально предназначена для работы с вложениями, и поэтому их поддержка довольно слабая. Современные MUA, такие как mutt, работают с вложениями гораздо более уверенно. Но если вы все же предпочитаете использовать `mail`, установите порт package:converters/mpack[].
+man:mail[1] не был предназначен для работы с вложениями и поэтому обрабатывает их плохо. Более современные почтовые клиенты (MUA) обрабатывают вложения более разумным способом.
====
[[mutt-command]]
-=== mutt
+=== Mutt
+
+Mutt - это мощный MUA с множеством функций, включая:
-mutt это небольшая но очень мощная почтовая программа с отличными возможностями, в числе которых:
+* Возможность группировки цепочек сообщений.
+* Поддержку PGP для цифровой подписи и шифрования электронной почты.
+* Поддержку MIME.
+* Поддержку Maildir.
+* Большую гибкость в настройке.
-* Возможность сортировки сообщений по дискуссиям;
-* Поддержка PGP для подписи и шифрования сообщений;
-* Поддержка MIME;
-* Поддержка Maildir;
-* Широкие возможности настройки.
+Обратитесь к ссылке link:http://www.mutt.org[http://www.mutt.org] для получения дополнительной информации о Mutt.
-Все эти возможности делают mutt одним из самых лучших почтовых клиентов. Обратитесь к http://www.mutt.org[http://www.mutt.org] за дополнительной информацией по mutt.
+[TIP]
+====
+Стоит упомянуть форк Mutt под названием NeoMutt, который добавляет новые возможности. Подробнее можно узнать по ссылке link:https://neomutt.org/about.html[сайт NeoMutt]. Если выбран NeoMutt, замените следующие примеры команд с `mutt` на `neomutt`.
+====
-Стабильная версия mutt может быть установлена из порта package:mail/mutt[]. После установки порта, mutt может быть запущен следующей командой:
+Mutt может быть установлен с использованием порта package:mail/mutt[]. После установки порта Mutt можно запустить, выполнив следующую команду:
-[source,shell]
+[source, shell]
....
% mutt
....
-mutt автоматически прочтет содержимое пользовательского почтового ящика в каталоге [.filename]#/var/mail# и отобразит почту, если она имеется в наличии. Если почты в ящике пользователя нет, mutt будет ожидать команд от пользователя. В примере ниже показан mutt со списком сообщений:
+Mutt автоматически прочитает и отобразит содержимое почтового ящика пользователя в [.filename]#/var/mail#. Если письма не найдены, Mutt будет ожидать команд от пользователя. В примере ниже показан список сообщений в Mutt:
-image::mutt1.png[]
+image::mutt1.png["Клиент электронной почты Mutt, отображающий список сообщений"]
-Для чтения почты выберите сообщение с помощью клавиш навигации и нажмите kbd:[Enter]. Пример mutt, отображающего сообщение, показан ниже:
+Чтобы прочитать письмо, выберите его с помощью клавиш курсора и нажмите kbd:[Enter]. Пример отображения письма в Mutt показан ниже:
-image::mutt2.png[]
+image::mutt2.png["Почтовый клиент Mutt, отображающий письмо"]
-Как и команда man:mail[1], mutt позволяет пользователям отвечать как только отправителю, так и всем получателям. Для ответа только отправителю почты, используйте клавишу kbd:[r]. Для группового ответа и отправителю сообщения и всем получателям используйте клавишу kbd:[g].
+Аналогично man:mail[1], Mutt позволяет отвечать как только отправителю сообщения, так и всем получателям. Чтобы ответить только отправителю письма, нажмите kbd:[r]. Для отправки группового ответа исходному отправителю, а также всем получателям сообщения нажмите kbd:[g].
[NOTE]
====
-mutt использует man:vi[1] в качестве редактора для создания писем и ответа на них. Редактор можно заменить путем создания или редактирования собственного [.filename]#.muttrc# в своем домашнем каталоге и установки переменной `editor`, или установкой переменной окружения `EDITOR`. Обратитесь к http://www.mutt.org/[http://www.mutt.org/] за более подробной информацией о настройке mutt.
+По умолчанию Mutt использует редактор man:vi[1] для создания и ответа на письма. Каждый пользователь может изменить это, создав или отредактировав файл [.filename]#.muttrc# в своём домашнем каталоге и установив переменную `editor`, либо задав переменную окружения `EDITOR`. Дополнительную информацию о настройке Mutt можно найти на link:http://www.mutt.org/[http://www.mutt.org/].
====
-Для создания нового почтового сообщения нажмите kbd:[m]. После введения темы mutt запустит man:vi[1] для создания письма. Как только письмо будет завершено, сохраните его и закройте `vi`, mutt продолжит работу, отобразив окно с сообщением, которое должно быть отправлено. Для отправки сообщения нажмите kbd:[y]. Пример окна с сообщением показан ниже:
+Чтобы создать новое письмо, нажмите kbd:[m]. После ввода корректной темы Mutt запустит man:vi[1] для написания письма. Завершив составление письма, сохраните изменения и выйдите из `vi`. Mutt продолжит работу, отобразив итоговый экран с информацией о письме, готовом к отправке. Для отправки письма нажмите kbd:[y]. Пример итогового экрана показан ниже:
-image::mutt3.png[]
+image::mutt3.png["Клиент электронной почты Mutt, отображающий сводный экран"]
-mutt также содержит исчерпывающий справочник, к которому можно обратиться из большинства меню, нажав клавишу kbd:[?]. Верхняя строка также показывает клавиатурные сокращения, которые могут быть использованы.
+Mutt содержит обширную справку, доступ к которой можно получить из большинства меню, нажав kbd:[?]. В верхней строке также отображаются сочетания клавиш, где это уместно.
[[alpine-command]]
=== alpine
-alpine предназначен для начинающих пользователей, но включает некоторые дополнительные возможности.
+alpine ориентирован на начинающего пользователя, но также включает некоторые расширенные возможности.
[WARNING]
====
-
-В программе alpine ранее были обнаружены некоторые уязвимости, позволяющие удаленному взломщику выполнять произвольный код с правами пользователя локальной системы путем отправки специально подготовленного письма. Все эти _известные_ проблемы были исправлены, но код alpine написан в очень небезопасном стиле и офицеры безопасности FreeBSD считают, что возможно наличие других не обнаруженных уязвимостей. Имейте это ввиду при установке alpine.
+В прошлом в alpine было обнаружено несколько уязвимостей, позволяющих удалённым злоумышленникам выполнять произвольный код от имени пользователей локальной системы путём отправки специально подготовленного электронного письма. Хотя _известные_ проблемы были исправлены, код alpine написан в небезопасном стиле, и Ответственный за безопасность FreeBSD считает, что, скорее всего, существуют другие необнаруженные уязвимости. Пользователи устанавливают alpine на свой страх и риск.
====
-Текущая версия alpine может быть установлена из порта package:mail/alpine[]. Как только порт установлен, alpine можно запустить командой:
+Текущую версию alpine можно установить с помощью порта package:mail/alpine[]. После установки порта alpine можно запустить, выполнив следующую команду:
-[source,shell]
+[source, shell]
....
% alpine
....
-При первом запуске alpine отображает страницу приветствия с кратким введением, а также просьбу команды разработчиков alpine отправить анонимное почтовое сообщение, позволяющее им определить количество пользователей, работающих с их почтовым клиентом. Для отправки анонимного сообщения нажмите kbd:[Enter], или kbd:[E] для выхода из приветствия без отправки анонимного сообщения. Пример приветствия показан ниже:
+При первом запуске alpine отображает приветственную страницу с кратким введением, а также просьбу от команды разработчиков alpine отправить анонимное электронное сообщение, позволяющее им оценить количество пользователей их клиента. Чтобы отправить это анонимное сообщение, нажмите kbd:[Enter]. Или нажмите kbd:[E] для выхода из приветствия без отправки анонимного сообщения. Пример приветственной страницы показан ниже:
+
+image::pine1.png["Почтовый клиент alpine, отображающий приветственную страницу"]
+
+Затем отображается главное меню, в котором можно перемещаться с помощью клавиш-стрелок. Это меню предоставляет быстрый доступ к созданию новых писем, просмотру почтовых каталогов и управлению записями адресной книги. Под главным меню отображаются соответствующие сочетания клавиш для выполнения функций, связанных с текущей задачей.
+
+По умолчанию alpine открывает папку [.filename]#inbox#. Для просмотра списка сообщений нажмите kbd:[I] или выберите пункт [.guimenuitem]#MESSAGE INDEX#, как показано ниже:
+
+image::pine2.png["Почтовый клиент alpine, отображающий стандартный каталог"]
-image::pine1.png[]
+Список сообщений отображает сообщения в текущем каталоге, и по ним можно перемещаться с помощью клавиш-стрелок. Выделенные сообщения можно прочитать, нажав kbd:[Enter].
-Затем отображается главное меню, перемещение по которому осуществляется с помощью клавиш навигации. В главном меню находятся ссылки для составления новых писем, просмотра почтовых каталогов, и даже управления адресной книгой. Ниже главного меню показаны клавиатурные сокращения, выполняющие соответствующие задачи.
+image::pine3.png["Почтовый клиент alpine, отображающий список сообщений"]
-По умолчанию alpine открывает каталог [.filename]#inbox#. Для просмотра списка сообщений нажмите kbd:[I], или выберите [.guimenuitem]#MESSAGE INDEX#, как показано ниже:
+На приведённом ниже снимке экрана отображается пример сообщения в alpine. Контекстные сочетания клавиш показаны в нижней части экрана. Пример одного из сочетаний — kbd:[r], которое указывает почтовому клиенту ответить на текущее отображаемое сообщение.
-image::pine2.png[]
+image::pine4.png["Клиент электронной почты alpine, отображающий письмо"]
-В списке показаны сообщения в текущем каталоге, они могут быть просмотрены с помощью клавиш навигации. Подсвеченные сообщения можно прочесть нажав kbd:[Enter].
+Для ответа на письмо в alpine запускается редактор pico, который устанавливается по умолчанию вместе с alpine. pico упрощает навигацию по сообщению и более удобен для начинающих пользователей, чем man:vi[1] или man:mail[1]. После завершения ответа сообщение можно отправить, нажав kbd:[Ctrl+X]. alpine запросит подтверждение перед отправкой сообщения.
-image::pine3.png[]
+image::pine5.png["Почтовый клиент alpine с открытым окном создания сообщения"]
-На снимке экрана ниже показан пример письма, отображаемого alpine. Внизу экрана даны клавиатурные сокращения. Например, kbd:[r] используется для указания MUA ответить на отображаемое в данный момент сообщение.
+alpine можно настроить с помощью пункта [.guimenuitem]#SETUP# в главном меню.
-image::pine4.png[]
+[[mail-advanced]]
+== Сложные темы
+
+Этот раздел охватывает более сложные темы, такие как настройка почты и организация почтовой системы для целого домена.
-Ответ на письмо в alpine осуществляется с помощью редактора pico, который устанавливается по умолчанию вместе с alpine. pico упрощает навигацию в сообщении гораздо проще для новых пользователей, чем man:vi[1] или man:mail[1]. Как только ответ будет готов, сообщение можно отправить нажав kbd:[Ctrl+X]. alpine запросит подтверждение.
+[[mail-config]]
+=== Базовая конфигурация
-image::pine5.png[]
+Без какой-либо настройки можно отправлять электронную почту на внешние хосты, если настроен [.filename]#/etc/resolv.conf# или сеть имеет доступ к настроенному DNS-серверу. Чтобы почта доставлялась на MTA FreeBSD, выполните одно из следующих действий:
-Программа alpine может быть настроена через пункт [.guimenuitem]#SETUP# главного меню. Обратитесь к странице http://www.washington.edu/alpine/[http://www.washington.edu/alpine/] за дальнейшей информацией.
+* Запустите DNS-сервер для домена.
+* Получайте почту напрямую на машину, используя ее полное доменное имя.
-[[mail-fetchmail]]
-== Использование fetchmail
+Для того чтобы почта доставлялась напрямую на хост, у него должен быть постоянный статический IP-адрес, а не динамический. Если система находится за межсетевым экраном, он должен быть настроен для пропуска SMTP-трафика. Чтобы принимать почту напрямую на хосте, необходимо настроить одно из следующих двух условий:
-fetchmail это полноценный IMAP и POP клиент, позволяющий пользователям автоматически загружать почту с удаленных серверов IMAP и POP в локальные почтовые ящики; так доступ к почтовым ящикам упрощается. fetchmail может быть установлен из порта package:mail/fetchmail[] и предоставляет различные возможности, в том числе:
+* Убедитесь, что MX-запись с наименьшим номером в DNS указывает на статический IP-адрес хоста.
+* Убедитесь, что в DNS для хоста нет записи MX.
-* Поддержка протоколов POP3, APOP, KPOP, IMAP, ETRN и ODMR.
-* Возможность пересылки почты через SMTP, что позволяет использовать функции фильтрации, перенаправления и синонимов.
-* Может быт запущен в режиме даемона для периодической проверки поступающих сообщений.
-* Может забирать почту с нескольких почтовых ящиков и рассылать ее различным локальным пользователям в зависимости от настроек.
+Любой из вышеперечисленных вариантов позволит получать почту напрямую на хост.
-Описание всех возможностей fetchmail выходит за пределы этой главы, за дополнительной информацией обратитесь к документации по fetchmail. Утилита fetchmail требует наличия файла настройки [.filename]#.fetchmailrc#. Этот файл включает информацию о сервере, а также информацию для аутентификации. Поскольку этот файл содержит важную информацию, правильно будет сделать его доступным для чтения только владельцем с помощью следующей команды:
+Попробуйте следующее:
-[source,shell]
+[source, shell]
....
-% chmod 600 .fetchmailrc
+# hostname
....
-В следующем примере файл [.filename]#.fetchmailrc# предназначен для загрузки одного почтового ящика по протоколу POP. Этот файл указывает fetchmail соединиться с `example.com` с именем пользователя `joesoap` и паролем `XXX`. В примере подразумевается, что пользователь `joesoap` существует также и в локальной системе.
+Вывод должен быть похож на следующий:
[.programlisting]
....
-poll example.com protocol pop3 username "joesoap" password "XXX"
+example.FreeBSD.org
....
-В следующем примере производится подключение к нескольким POP и IMAP серверам, при необходимости почта перенаправляется другим локальным пользователям:
+[source, shell]
+....
+# host example.FreeBSD.org
+....
+
+Вывод должен быть похож на следующий:
+
+[.programlisting]
+....
+example.FreeBSD.org has address 204.216.27.XX
+....
+
+В этом примере письма, отправленные напрямую на mailto:yourlogin@example.FreeBSD.org[yourlogin@example.FreeBSD.org], должны работать без проблем, при условии что полнофункциональный MTA корректно работает на `example.FreeBSD.org`. Обратите внимание, что man:dma[8] не слушает порт 25 для входящих соединений и не может быть использован в данном сценарии.
+
+Для этого примера:
+
+[source, shell]
+....
+# host example.FreeBSD.org
+....
+
+Вывод должен быть похож на следующий:
[.programlisting]
....
-poll example.com proto pop3:
-user "joesoap", with password "XXX", is "jsoap" here;
-user "andrea", with password "XXXX";
-poll example2.net proto imap:
-user "john", with password "XXXXX", is "myth" here;
+example.FreeBSD.org has address 204.216.27.XX
+example.FreeBSD.org mail is handled (pri=10) by nevdull.FreeBSD.org
....
-Утилита fetchmail может работать в режиме даемона с флагом `-d`, заданным с интервалом (в секундах), через который fetchmail должен опрашивать серверы, перечисленные в [.filename]#.fetchmailrc#. В следующем примере fetchmail будет забирать почту каждые 600 секунд:
+Вся почта, отправленная на `example.FreeBSD.org`, будет собираться на `nevdull` под тем же именем пользователя вместо прямой отправки на ваш хост.
+
+Указанная выше информация обрабатывается DNS-сервером. DNS-запись, содержащая информацию о маршрутизации почты, называется link:https://en.wikipedia.org/wiki/MX_record[записью почтового обменника (MX-запись)]. Если MX-запись отсутствует, почта будет доставлена напрямую на хост по его IP-адресу.
-[source,shell]
+Запись MX для `freefall.FreeBSD.org` когда-то выглядела так:
+
+[.programlisting]
....
-% fetchmail -d 600
+freefall MX 30 mail.crl.net
+freefall MX 40 agora.rdrop.com
+freefall MX 10 freefall.FreeBSD.org
+freefall MX 20 who.cdrom.com
....
-Дополнительную информацию о fetchmail можно найти на сайте http://fetchmail.berlios.de/[http://fetchmail.berlios.de/].
+`freefall` имел множество MX-записей. Наименьший номер MX указывает на хост, который принимает почту напрямую, если он доступен. Если он недоступен по какой-либо причине, следующий хост с меньшим номером временно примет сообщения и передаст их, когда хост с меньшим номером станет доступен.
-[[mail-procmail]]
-== Использование procmail
+Альтернативные MX-серверы должны иметь отдельные интернет-подключения для максимальной эффективности. Ваш провайдер может предоставить такую услугу.
-Утилита procmail это невероятно мощное приложение, используемое для фильтрации входящей почты. Она позволяет пользователям определять "правила", которые могут быть сопоставлены входящим письмам для выполнения определенных действий или для перенаправления почты в альтернативные почтовые ящики и/или на почтовые адреса. procmail может быть установлен с помощью порта package:mail/procmail[]. После установки он может быть непосредственно интегрирован в большинство MTA; сверьтесь с документацией на ваш MTA. Другой способ интеграции procmail - добавление в файл [.filename]#.forward#, находящийся в домашнем каталоге пользователя, следующей строки:
+[[mail-domain]]
+=== Почта для домена
+
+Если MTA настраивается для сети, то любая почта, отправленная на хосты в его домене, должна перенаправляться на этот MTA, чтобы пользователи могли получать свою почту на главном почтовом сервере.
+
+Для максимального удобства учётная запись с тем же _именем пользователя_ должна существовать как на MTA, так и на системе с MUA. Для создания учётных записей используйте man:adduser[8].
+
+[TIP]
+====
+Помимо добавления локальных пользователей на хост, существуют альтернативные методы, известные как виртуальные пользователи. Такие программы, как link:https://www.cyrusimap.org/[Cyrus] и link:https://www.dovecot.org/[Dovecot], могут быть интегрированы в MTA для управления пользователями, хранения почты, а также предоставления доступа через POP3 и IMAP.
+====
+
+Почтовый сервер (MTA) должен быть назначенным почтовым обменником для каждой рабочей станции в сети. Это делается в конфигурации DNS с помощью записи MX:
[.programlisting]
....
-"|exec /usr/local/bin/procmail || exit 75"
+example.FreeBSD.org A 204.216.27.XX ; Workstation
+ MX 10 nevdull.FreeBSD.org ; Mailhost
....
-В этом разделе будут показаны основы настройки правил procmail, а также краткое описание их действия. Эти и другие правила должны быть помещены в файл [.filename]#.procmailrc#, который должен находиться в домашнем каталоге пользователя.
+Это перенаправит почту для рабочей станции на MTA, независимо от того, куда указывает запись A. Почта отправляется на MX-хост.
+
+Это необходимо настроить на DNS-сервере. Если в сети не запущен собственный DNS-сервер, обратитесь к интернет или DNS-провайдеру.
+
+Ниже приведен пример виртуального хостинга электронной почты.
-Большую часть этих правил также можно найти на странице справочника man:procmailex[5].
+Рассмотрим клиента с доменом `customer1.org`, где вся почта для `customer1.org` должна отправляться на `mail.myhost.com`.
-Перенаправление всей почты от mailto:user@example.com[user@example.com] на внешний адрес mailto:goodmail@example2.com[goodmail@example2.com]:
+Запись DNS должна выглядеть следующим образом:
[.programlisting]
....
-:0
-* ^From.*user@example.com
-! goodmail@example2.com
+customer1.org MX 10 mail.myhost.com
+....
+
+Для обработки только электронной почты домена `customer1.org` запись типа `A` _не_ требуется. Однако команда `ping` для `customer1.org` не будет работать, если для этого домена не существует записи `A`.
+
+Укажите MTA, для каких доменов и/или имен хостов следует принимать почту. Для Sendmail подойдет любой из следующих вариантов:
+
+* Добавьте хосты в [.filename]#/etc/mail/local-host-names#, если используется `FEATURE(use_cw_file)`.
+* Добавьте строку `Cwyour.host.com` в файл [.filename]#/etc/sendmail.cf#.
+
+[[outgoing-only]]
+=== Настройка только для отправки
+
+Существует множество случаев, когда требуется отправлять почту только через релейный сервер (SMTP-ретранслятор). Некоторые примеры:
+
+* Компьютер представляет собой настольную машину, которой необходимо использовать программы, такие как man:mail[1], с использованием почтового ретранслятора интернет-провайдера.
+* Компьютер является сервером, который не обрабатывает почту локально, а передает всю почту релейному серверу для обработки.
+
+Хотя любая MTA способна выполнить эту конкретную задачу, правильная настройка полнофункциональной MTA только для обработки пересылки почты может быть сложной. Такие программы, как Sendmail и Postfix, являются избыточными для такого использования.
+
+Кроме того, стандартное соглашение об услуге доступа в Интернет может запрещать запуск «почтового сервера».
+
+Самый простой способ удовлетворить эти потребности — использовать MTA man:dma[8], входящий в состав crossref:mail[configuring-dragonfly-mail-agent, базовой системы]. Для систем версии до 13.2 необходимо установить его из портов.
+
+В дополнение к man:dma[8], для достижения того же результата можно использовать стороннее программное обеспечение, например package:mail/ssmtp[].
+
+[source, shell]
+....
+# cd /usr/ports/mail/ssmtp
+# make install replace clean
....
-Перенаправление всей почты объемом меньше 1000 байт на внешний адрес mailto:goodmail@example2.com[goodmail@example2.com]:
+После установки пакет package:mail/ssmtp[] можно настроить с помощью файла [.filename]#/usr/local/etc/ssmtp/ssmtp.conf#:
[.programlisting]
....
-:0
-* < 1000
-! goodmail@example2.com
+root=yourrealemail@example.com
+mailhub=mail.example.com
+rewriteDomain=example.com
+hostname=_HOSTNAME_
....
-Перенаправление всей почты, отправляемой на mailto:alternate@example.com[alternate@example.com], в почтовый ящик [.filename]#alternate#:
+Используйте настоящий адрес электронной почты для `root`. Введите исходящий почтовый релейный сервер вашего интернет-провайдера вместо `mail.example.com`. Некоторые провайдеры называют это "исходящий почтовый сервер" или "SMTP-сервер".
+
+Убедитесь, что Sendmail отключён, включая службу исходящей почты.
+
+package:mail/ssmtp[] предоставляет дополнительные настройки. Для получения дополнительной информации обратитесь к примерам в [.filename]#/usr/local/etc/ssmtp# или к руководству ssmtp.
+
+Настройка ssmtp таким образом позволяет любому программному обеспечению на компьютере, которому требуется отправлять почту, работать корректно, не нарушая политику использования провайдера и не позволяя компьютеру быть захваченным для рассылки спама.
+
+[[SMTP-Auth]]
+=== Аутентификация SMTP в Sendmail
+
+Настройка аутентификации SMTP на MTA предоставляет ряд преимуществ. Аутентификация SMTP добавляет уровень безопасности в Sendmail и позволяет мобильным пользователям, меняющим хосты, использовать один и тот же MTA без необходимости перенастраивать параметры почтового клиента каждый раз.
+
+Установите пакет package:security/cyrus-sasl2[] из Коллекции портов. Этот порт поддерживает ряд опций на этапе компиляции. Для метода аутентификации SMTP, демонстрируемого в данном примере, убедитесь, что `LOGIN` не отключен.
+
+После установки пакета package:security/cyrus-sasl2[] отредактируйте файл [.filename]#/usr/local/lib/sasl2/Sendmail.conf# или создайте его, если он не существует, и добавьте следующую строку:
[.programlisting]
....
-:0
-* ^TOalternate@example.com
-alternate
+pwcheck_method: saslauthd
+....
+
+Далее установите package:security/cyrus-sasl2-saslauthd[] и выполните следующую команду:
+
+[source, shell]
+....
+# sysrc saslauthd_enable="YES"
+....
+
+Наконец, запустите демон saslauthd:
+
+[source, shell]
+....
+# service saslauthd start
....
-Перенаправление всей почты с "Spam" в [.filename]#/dev/null#:
+Этот демон служит посредником для Sendmail при аутентификации в базе данных FreeBSD man:passwd[5]. Это избавляет от необходимости создавать новый набор имен пользователей и паролей для каждого пользователя, которому требуется аутентификация SMTP, и позволяет сохранять одинаковые пароли для входа в систему и для почты.
+
+Далее отредактируйте файл [.filename]#/etc/make.conf# и добавьте следующие строки:
[.programlisting]
....
-:0
-^Subject:.*Spam
-/dev/null
+SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL
+SENDMAIL_LDADD=/usr/local/lib/libsasl2.so
+....
+
+Эти строки предоставляют Sendmail правильные параметры конфигурации для связи с package:cyrus-sasl2[] во время компиляции. Убедитесь, что package:cyrus-sasl2[] установлен перед перекомпиляцией Sendmail.
+
+Перекомпилируйте Sendmail, выполнив следующие команды:
+
+[source, shell]
+....
+# cd /usr/src/lib/libsmutil
+# make cleandir && make obj && make
+# cd /usr/src/lib/libsm
+# make cleandir && make obj && make
+# cd /usr/src/usr.sbin/sendmail
+# make cleandir && make obj && make && make install
....
-Полезный пример, обрабатывающий входящую почту со списков рассылки `FreeBSD.org` и помещающий каждый список в отдельный почтовый ящик.
+Эта компиляция не должна вызывать проблем, если [.filename]#/usr/src# не подвергался значительным изменениям и необходимые динамические библиотеки доступны.
+
+После компиляции и переустановки Sendmail отредактируйте файл [.filename]#/etc/mail/freebsd.mc# или локальный файл [.filename]#.mc#. Многие администраторы предпочитают использовать вывод команды man:hostname[1] в качестве имени файла [.filename]#.mc# для обеспечения уникальности.
+
+Добавьте следующие строки:
[.programlisting]
....
-:0
-* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
-{
- LISTNAME=${MATCH}
- :0
- * LISTNAME??^\/[^@]+
- FreeBSD-${MATCH}
-}
+dnl set SASL options
+TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
+define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl
....
+
+Эти параметры настраивают различные методы, доступные Sendmail для аутентификации пользователей. Чтобы использовать метод, отличный от pwcheck, обратитесь к документации Sendmail.
+
+Наконец, выполните man:make[1] в каталоге [.filename]#/etc/mail#. Это приведёт к обработке нового файла [.filename]#.mc# и созданию файла [.filename]#.cf# с именем [.filename]#freebsd.cf# или именем, использованным для локального файла [.filename]#.mc#.
+
+Затем выполните `make install restart`, что скопирует файл в [.filename]#sendmail.cf# и корректно перезапустит Sendmail.
+
+Для получения дополнительной информации об этом процессе обратитесь к [.filename]#/etc/mail/Makefile#.
+
+Для проверки конфигурации используйте MUA для отправки тестового сообщения. Для более детального анализа установите уровень журналирования (`LogLevel`) Sendmail на `13` и следите за файлом [.filename]#/var/log/maillog# на предмет ошибок.
+
+Для получения дополнительной информации обратитесь к http://www.sendmail.org/~ca/email/auth.html[аутентификации SMTP].