пользователю, будет направлено другому. Например, если в этом файле присутствует запись root: amelia
, то письмо, адресованное root
, получит пользователь amelia
. В файле aliases
можно также указывать адреса, не принадлежащие локальным пользователям. Например, наличие записи root: [email protected]
приведет к тому, что письмо, принятое для локального пользователя root
, будет перенаправлено по адресу [email protected]
. В отличие от sendmail
, в сервере Exim файл aliases
не преобразовывается в двоичный формат.
• /etc/email-addresses
. Записи в этом файле используются для изменения содержимого полей From:
в заголовках исходящих сообщений. Например, наличие записи ben: [email protected]
приведет к тому, что письмо, отправленное с локального компьютера пользователем ben
, придет к получателю как сообщение от [email protected]
.
Сценарий eximconf
создает в файле /etc/aliases
записи, посредством которых почта, адресованная postmaster
перенаправляется root
, а письма, непосредственно направленные root
, будут переданы пользователю, которого вы укажете. Содержимое описанных выше файлов можно удалять или модифицировать, а при необходимости вы можете включать в эти файлы новые записи. Файл /etc/email-addresses
, создаваемый по умолчанию в системе Debian, содержит лишь комментарии.
Маскировка адресов
Как было сказано ранее, вам может потребоваться, чтобы в сообщениях вместо имени, возвращаемого по команде hostname
, отображалось другое имя узла или домена. Основные средства маскировки адресов включаются посредством опции qualify_domain
. С помощью данной опции задается имя домена. Если почтовая программа не сгенерирует информацию об адресе, имя домена будет автоматически включено в сообщение. Предположим, что в файле exim.conf
присутствует следующая запись:
qualify_domain = threeroomco.com
Если пользователь ben
отправит письмо, а программа, с помощью которой это письмо было подготовлено, не укажет в поле From:
имя домена, то Exim добавит имя threeroomco.com
. Если доменное имя адреса не соответствует имени threeroomco.com
, то Exim заменит адрес. Таким образом, содержимое поля From:
будет выглядеть так: [email protected]
.
Еще одна опция, которую можно использовать для маскировки адресов, называется primary_hostname
. Она применяется подобно qualify_domain
, и ее значение принимается в качестве значения по умолчанию для qualify_domain
. Значение primary_hostname
используется при переговорах о взаимодействии Exim и удаленного сервера имен. Имя, задаваемое посредством данной опции, применяется при формировании заголовка Received:
.
Для более сложной маскировки адресов применяется файл /etc/email-addresses
. Строго говоря, на файл /etc/email-addresses
ссылается запись, расположенная в конце конфигурационного файла exim.conf
. Эта запись имеет следующий вид:
*@threeroomco.com ${lookup{$1}lsearch{/etc/email-addresses}
{$value}fail} bcfrF
Это одна из наиболее сложных записей, содержащихся в файле exim.conf
. При настройке сервера не следует редактировать ее, допустимо лишь изменить имя домена в начале строки. С помощью данной записи Exim проверяет каждый адрес на принадлежность домену threeroomco.com
, а затем использует файл /etc/email-addresses
для замены адреса. В первом поле записи, содержащейся в файле /etc/email-addresses
(перед двоеточием), указывается почтовый адрес, предназначенный для сравнения, а во втором поле (после двоеточия) — адрес для замены. Данное средство позволяет выполнять маскировку для каждого пользователя; чтобы сделать это, достаточно лишь отредактировать файл email-addresses
. При необходимости вы можете обрабатывать письма из разных доменов. Для этого надо либо продублировать приведенную выше запись в exim.conf
, либо включить всю информацию, необходимую для замены адресов, в один файл email-addresses
.
В данном разделе рассмотрены лишь некоторые средства маскировки адресов, предоставляемые Exim. Дополнительную информацию по этому вопросу вы можете получить в документации на Exim, обратившись по адресу http://www.exim.org/exim-html-3.30/doc/html/spec_34.html
.
Настройка Exim для приема почты
В конфигурационном файле exim.conf
предусмотрены различные опции, позволяющие указать серверу, следует ли интерпретировать адрес как локальный. Эти опции кратко описаны ниже.
• local_domains
. В качестве значения данной опции задается список доменных имен, разделенных двоеточиями. Эти имена Exim должен интерпретировать как локальные. Например, запись local_domains = localhost: threeroomco.com
сообщает Exim о том, что адреса localhost
и threeroomco.com
являются локальными и письма, в которых они указаны, необходимо непосредственно доставлять пользователям. По умолчанию значение данной опции принимается равным значению qualify_recipient
. Опция qualify_recipient
задает имя узла для входящих сообщений, в которых такая информация отсутствует.
• local_domains_include_host
. Если значение данной опции равно true
, Exim принимает письма, в адресе которых указано имя компьютера. Тот же результат можно получить, добавив имя узла к списку local_domains
.
• local_domains_include_host_literals
. Если значение данной опции равно true
, Exim принимает письма, в которых указан IP-адрес компьютера. Например, если Exim выполняется на компьютере с адресом 172.24.98.2 и на этом компьютере имеется учетная запись пользователя ben
, Exim примет письмо с адресом ben@[172.24.98.2]
. Если вы не хотите, чтобы подобные письма обрабатывались сервером, необходимо установить значение false
опции local_domains_include_host_literals
.
Сценарий eximconfig
устанавливает эти опции исходя из ответов администратора на вопросы о домене, для которого необходимо принимать письма. Таким образом, если вы внимательно отнесетесь к вопросам, задаваемым данным сценарием, вы обнаружите, что необходимые для вас значения опций уже установлены.
Конфигурация Exim для ретрансляции писем
Подобно sendmail
, в сервере Exim предусмотрен ряд опций, предназначенных как для ретрансляции писем, переданных другими программами, так и для использования в качестве ретрансляторов других серверов. Сценарий eximconfig
задает администратору вопросы, касающиеся ретрансляции писем, и в большинстве случаев устанавливает приемлемую конфигурацию сервера. Уточнить настройку Exim можно с помощью непосредственного редактирования файла exim.conf
.