voliuf.narod.ru

главная

друзья

помощь сайту

Администрирование почтовых серверов sendmail  

Бесплатные учебники по темам

Партнерская программа

1.Принципы организации систем электронной почты

2.Использование ОС Linux в качестве сервера электронной почты

3.Установка телекоммуникационного оборудования в ОС Linux

4.DNS и доменные имена

5.Протокол SMTP

6.Протокол POP3

7.Протокол IMAP

8.Протокол РРР

9.Протокол UUCP

10.Программа sendmail

11.Установка и конфигурирование sendmail

12.Установка и конфигурирование POP3 и IMAP

13.Подключение почтового сервера к провайдеру Internet

14.Администрирование почтового сервера

15.Конфигурирование клиентов ЛВС

16.Поддержка удаленных клиентов

17.Почтовые псевдонимы и преобразование адресов

18.Списки рассылки

19.Маршрутизация IP в ОС Linux

 

Администрирование почтовых серверов sendmail 
17.Почтовые псевдонимы и преобразование адресов
  

Итак, теперь, когда ваш почтовый сервер настроен и слаженно работает, все клиенты получают и отправляют почту, настало идеальное время для экспериментов с некоторыми полезными возможностями электронной почты. В этой лекции мы обсудим две дополнительные функции, которые может выполнять на почтовый сервер в вашем офисе. Первая — использование так называемых почтовых псевдонимов (mail aliases). И вторая — преобразование адресов (masquerading), благодаря чему на базе одного почтового сервера под управлением ОС Linux вы можете поддерживать работу еще нескольких почтовых серверов.

 

Файл .forward

Один из способов задания почтовых псевдонимов — использование файла .forward. С помощью этого файла легче всего перенаправлять электронную почту с одного адреса на другой. Схема работы перенаправления почты с помощью файла .forward показана на рис. 17.1.

 

 

Использование файла .forward для перенаправления электронной почты

Рис. 17.1.  Использование файла .forward для перенаправления электронной почты

 

 

Для любого пользователя можно создать файл .forward и поместить его в рабочий каталог пользователя. Когда программа для работы с почтой получает сообщение для пользователя, она проверяет наличие файла .forward. Если таковой имеется, то сообщение будет переслано на адреса, указанные в этом файле, а не в почтовый ящик пользователя. Помните, что в файле .forward может быть указано несколько адресов электронной почты. Они задаются по одному в строке, и программа для работы с электронной почтой тиражирует пришедшее сообщение для каждого из них.

 

Перенаправление почты может понадобиться в нескольких случаях. Например, когда пользователю по какой-либо причине необходимо сменить адрес электронной почты (смена фамилии и т.п.), вы можете оставить активным на какое-то время его старый почтовый адрес, но при этом создать в рабочем каталоге этого пользователя файл .forward. В этом файле необходимо указать новый адрес электронной почты. Таким образом, пользователь, зарегистрировавшись в системе под новым именем, будет получать почту, приходящую как на новый, так и на старый адрес.

 

Иногда также необходимо поддерживать некоторое время активным адрес электронной почты сотрудника, который уволился из организации. С помощью файла .forward можно обеспечить перенаправление почты с его адреса в вашей организации на его новый адрес электронной почты в другой компании (при условии, что там имеется доступ к сети Internet).

 

Еще одно из применений файла .forward — формирование простых списков рассылки. Списки рассылки позволяют рассылать одно сообщение нескольким получателям, но при этом отправитель указывает лишь одного из них. Более детально списки рассылки рассматриваются в лекции 18, "Списки рассылки" Несмотря на то что существуют более комплексные методы формирования списков рассылки, при необходимости это можно сделать и на базе файла .forward. Для поддержания работы списка рассылки необходимо создать специальную учетную запись на сервере. Затем в рабочем каталоге для этой записи создать файл .forward и внести туда всех получателей списка рассылки. Получателями рассылки могут быть как локальные пользователи почтового сервера, так и пользователи других серверов, имеющие адрес электронной почты. Пересылку сообщений удаленным пользователям можно организовать с помощью программы fetchmail.

 

Предположим, вам необходимо создать список рассылки с именем officenews. Любое сообщение, посланное на адрес электронной почты officenews, должно быть разослано всем пользователям локального сервера и нескольким клиентам, которые имеют почтовые ящики на других серверах. Для решения этой задачи необходимо создать учетную запись на почтовом сервере под управлением ОС Linux с рабочим каталогом /home/officenews. Затем в рабочем каталоге пользователя officenews создать файл .forward (содержимое такого файла представлено в листинге 17.1).

 
1 rich
2 barbara
3 katie
4 jessica
5 riley
6 haley
7 matthew@othercompany.com
8 christopher@othercompany.com
9 frank@secondcompany.com
10 melanie@secondcompany.com

Листинг 17.1. Пример файла .forward

При такой конфигурации сообщение, полученное на адрес officenews@smallorg.org, будет растиражировано и его копии будут отправлены по адресам электронной почты, указанным в листинге. В строках 1–6 листинга заданы пользователи локального сервера электронной почты. В строках 7–10 указаны адреса пользователей других почтовых серверов, которые также получат это сообщение.

 

Псевдонимы

Одна из полезных функций программы sendmail — возможность создания почтовых псевдонимов для пользователей сервера электронной почты. Иногда в определенных случаях необходимо создать отдельные адреса электронной почты. Например, для регистрации клиентов компании можно создать адрес register@smallorg.org. Если бы не было почтовых псевдонимов, то на почтовом сервере нужно было бы создавать новую учетную запись c именем register и назначать специального сотрудника, который бы входил на сервер под этим именем и проверял почтовый ящик, или с помощью файла .forward перенаправлять сообщения из этого почтового ящика в какой-либо другой.

 

При использовании псевдонимов необходимость в создании отдельного почтового ящика и учетной записи отпадает. Так, вы можете просто описать псевдоним с именем register и определить его для уже существующего в системе электронной почты пользователя. Тогда все почтовые сообщения, направленные на адрес register, будут автоматически перенаправлены программой sendmail на пользователя, для которого вы определили этот псевдоним.

 

Файл aliases

Все почтовые псевдонимы, используемые программой sendmail, находятся в одном файле с именем aliases. Этот файл обычно находится в каталоге /etc, но его местоположение можно изменить в файле sendmail.cf. В файле aliases описываются псевдонимы, используемые в адресах электронной почты. Описание псевдонима заключается в сопоставлении его с реальным адресом электронной почты, программой или файлом. Каждый псевдоним описывается в отдельной строке. Псевдонимы могут быть заданы в четырех представленных ниже форматах.

 

Формат 1:

 
name: name_1, name_2, name_3, ...

Формат 2:

 
name: | program

Формат 3:

 
name: file

Формат 4:

 
name :include :filelist

В первом случае почтовый псевдоним указывает на один или несколько реальных адресов электронной почты. Здесь строка, описывающая псевдоним, интерпретируется следующим образом: name — имя псевдонима, name_1, name_2 ... — адреса электронной почты, на которые пересылается сообщение, если оно было получено на адрес, содержащий псевдоним name. Здесь можно использовать несколько адресов. На каждый из них будет пересылаться копия сообщения.

 

Второй формат определения псевдонимов предполагает, что псевдоним может указывать на какую-либо программу. То есть при обращении к адресу, который является псевдонимом, будет запускаться определенная программа. Таким образом, аргумент program представляет собой полный путь к выполняемому модулю программы, которая будет заниматься дальнейшей обработкой сообщения. Более подробно работа с этим форматом описана в лекции 18. Программа для работы со списками рассылки Majordomo широко использует при обработке сообщений именно этот формат.

 

Третий формат применения псевдонимов предполагает сохранение всех поступивших сообщений в определенный файл. Аргумент file — полный путь к текстовому файлу, в который будут помещаться сообщения. Для обеспечения нормальной работы такой схемы нужно правильно задать права доступа к этому файлу. Чтение и запись должны быть разрешены и в файл, и в каталог, в котором он находится.

 

Последний формат описания псевдонимов позволяет пересылать принятые сообщения по списку адресов электронной почты, которые содержатся в файле. В этом случае аргумент filelist представляет собой полный путь к файлу, в котором содержится список адресов электронной почты. Описание псевдонимов в этом формате было бы идентично формату 1, если бы вы указали адреса из списка через запятую. Однако этот формат удобно использовать, если требуется оперировать с большими списками адресов, которые к тому же часто меняются.

 

Соглашения об использовании почтовых псевдонимов

Почтовый псевдоним, представленный в файле aliases в любом из приведенных выше форматов, действителен только для локального сервера электронной почты. То есть вы не можете создавать на локальном сервере псевдоним вида alias@otherhost.com для переадресации почты на удаленный хост. Однако адрес, на который указывает псевдоним, может быть адресом на удаленном почтовом сервере.

 

В листинге 17.2 приведен пример файла aliases из ОС Mandrake Linux 6.0.

 
1 #
2 # @(#)aliases 8.2 (Berkeley) 3/5/94
3 #
4 # Aliases in this file will NOT be expanded in the header from
5 # Mail, but WILL be visible over networks or from /bin/mail.
6 #
7 # >>>>>>>> The program "newaliases" must be run after
8 # >> note >> this file is updated for any changes to
9 # >>>>>>>>> show through to sendmail.
10 #
11
12 # Basic system aliases -- these MUST be present.
13 MAILER-DAEMON: postmaster
14 postmaster: root
15
16 # General redirections for pseudo accounts.
17 bin: root
18 daemon: root
19 games: root
20 ingres: root
21 nobody: root
22 system: root
23 toor: root
24 uucp: root
25
26 # Well-known aliases.
27 manager: root
28 dumper: root
29 operator: root
30
31 # trap decode to catch security attacks
32 decode: root
33
34 # Person who should get root's mail
35 root: rich
36
37 # Program used to auto-reply to messages
38 auto-test: |/home/rich/auto-test
39
40 # Send all messages to a text file
41 saveme: /home/rich/test.txt
42
43 # Send all messages to remote site
44 rich: rich@othercompany.com
45
46 #Create a simple multi-user mail list
47 officenews: :include:/home/rich/office.txt

Листинг 17.2. Пример файла /etc/aliases

В строках 13–32 листинга 17.2 почта перенаправляется от обычных пользователей ОС Linux, создаваемых при установке операционной системы, пользователю root. Таким образом вы сможете наблюдать за попытками несанкционированного доступа в систему с использованием системных имен. Если идентификаторы этих пользователей не указаны псевдонимами для пользователя root, то все приходящие на них сообщения будут утеряны. В строке 35 указано перенаправление почты с помощью псевдонима от пользователя root администратору сервера. И помните: если вы одновременно являетесь и системным администратором, не стоит очень часто входить в систему в качестве пользователя root. Старайтесь входить в систему под своим именем и лишь при необходимости использовать права пользователя root.

 

В строке 38 сообщения перенаправляются указанной программе. Чтобы оболочка смогла самостоятельно запустить программу, должен быть описан полный путь к ней. В строке 41 приведен пример назначения псевдонима текстовому файлу, в который будут собраны все сообщения, посланные на адрес-псевдоним. Помните о правильности разрешения прав доступа к файлу, иначе система будет генерировать сообщения о нарушении прав доступа к файлу и не выполнять необходимых действий.

 

В строке 44 вы видите, как с помощью псевдонима сообщение перенаправляется на удаленный сервер. Как и в случае с использованием файла .forward, можно перенаправить почтовое сообщение пользователю, который имеет учетную запись на другом почтовом сервере. Эти функции могут быть полезны, если пользователь курсирует между несколькими почтовыми серверами в разных филиалах компании или переходит на работу в другую компанию и необходимо какое-то время поддерживать его старую учетную запись.

 

В строке 47 приведен пример использования в качестве псевдонима файла со списком адресов, по которым осуществляется рассылка. Файл /home/rich/office.txt представляет собой обычный текстовый файл со списком адресов электронной почты, подобный файлу .forward. Когда по адресу, содержащему псевдоним officenews, приходит сообщение, считывается файл office.txt, и копии сообщения рассылаются по адресам, указанным в нем.

 

Программа newaliases

Администратор почтовой системы описывает псевдонимы в текстовом файле /etc/aliases, но программа sendmail при обработке почты считывает другой файл — /etc/aliases.db. В этом файле псевдонимы хранятся уже в хешированном виде, как и большинство других настроек sendmail, описанных в лекции 10, "Программа sendmail".

 

Для создания файла базы данных псевдонимов /etc/aliases.db необходимо запустить программу sendmail с параметром -bi. Когда программа sendmail запущена с этим параметром, она считывает текстовый файл /etc/aliases и автоматически формирует файл базы данных /etc/aliases.db. При установке программы sendmail создается также специальный выполняемый файл newaliases, при запуске которого выполняются действия, аналогичные работе sendmail с параметром -bi. Каждый раз после внесения изменений в текстовый файл /etc/aliases нужно запускать программу newaliases.

 

Преобразование адресов (маскарадинг)

Как и на обычном маскараде, адреса электронной почты или IP-адреса могут "притворяться" другими. Звучит это немного странно, но смысл преобразования адресов лучше всего передается словом маскарад (по-английски masquerade — притворяться, надевать маску). В профессиональных кругах вместо словосочетаний "преобразование адресов" или "подстановка адресов" чаще употребляется термин "маскарадинг". В этом разделе мы рассмотрим методики, которые могут использоваться программой sendmail, для приема и отправки сообщений электронной почты с подставными адресами.

 

Преобразование адреса одного хоста

В лекции 13, "Подключение почтового сервера к провайдеру Internet", уже демонстрировалось возможное применение преобразованного адреса хоста. Например, очень часто желательно настроить почтовый сервер для приема и передачи сообщений с доменным именем, без имени самого почтового сервера в адресной части. Как правило, почтовый сервер на базе ОС Linux принимает и передает электронную почту, адресованную определенному хосту. Если имя хоста, на котором находится почтовый сервер mail1, то весь обмен сообщениями будет осуществляться по полному доменному имени mail1.smallorg.org. Для того чтобы направить письмо пользователю этого сервера, необходимо указать в адресе электронной почты полное имя хоста:

 
username@mail1.smallorg.org

Чтобы почтовый сервер на базе ОС Linux мог принимать сообщения, адресованные на доменное имя без указания имени хоста, необходимо сделать две вещи. Во-первых, МХ-запись в DNS для этого домена должна указывать на определенный почтовый сервер — либо на сервер провайдера, либо на локальный почтовый сервер вашей компании, в зависимости от способа подключения к сети Internet. Таким образом удаленные хосты информируются о том, что почтовый сервер будет принимать почту на доменное имя (в нашем случае это smallorg.org). База данных сервера DNS, содержащая сведения о доменах сети Internet, рассмотрена нами в лекции 4, "DNS и доменные имена". Запись в DNS о почтовом сервере под управлением ОС Linux, который обслуживает домен, выглядит примерно так:

 
smallorg.org IN MX 10 mail1.smallorg.org

По этой записи вся почта от удаленных хостов, направленная в домен smallorg.org, будет передаваться прямо на хост mail1.smallorg.org (локальный почтовый сервер). Так решается проблема с приемом входящей почты.

 

Вторая часть этой головоломки — исходящая почта, отправляемая с локального почтового сервера. Несмотря на то что теперь ваш почтовый сервер может принимать сообщения из Internet, адресованные в домен smallorg.org, исходящие сообщения посылаются с полным именем хоста в поле обратного адреса. Это может привести к неустойчивой работе системы электронной почты. Здесь на помощь приходит преобразование адресов.

 

Преобразование почтовых адресов при работе sendmail позволяет изменять содержимое полей заголовков исходящих сообщений, в частности поля, где указывается обратный адрес. Содержимое этого поля заголовка должно быть изменено таким образом, чтобы обратный адрес указывал на нужный домен, а не на имя хоста в домене. Таким образом, даже если сообщение будет послано непосредственно с локального почтового сервера, в поле обратного адреса все равно будет указано имя домена, а не хоста. Для разрешения преобразования адресов в программе sendmail необходимо настроить соответствующим образом файл конфигурации sendmail.

 

Как уже отмечалось в лекции 11, "Установка и конфигурирование sendmail", для изменения настроек в файле конфигурации sendmail создается файл макросов. Затем для создания нового файла конфигурации запускается макропроцессор GNU m4. Директива, с помощью которой в программе sendmail включается преобразование адресов, представлена ниже:

 
MASQUERADE_AS(domain),

где domain — доменное имя, которое sendmail должна использовать в качестве обратного адреса в заголовках исходящих сообщений. Обратите внимание: эта директива изменяет только обратные адреса в заголовках сообщений. Если нужно изменить все заголовки сообщений с учетом маскарадинга доменного имени, то воспользуйтесь настройкой:

 
FEATURE('masquerade_envelope')

Для более тонкой настройки преобразования адресов на почтовом сервере можно использовать другие опции. В табл. 17.1 приведен список настроек, которые можно применять в программе sendmail для преобразования адресов электронной почты.

 
Таблица 17.1. Настройки для преобразования адресов в sendmail
Настройка Описание
masquerade_envelope Преобразование адресов отправителя и получателя в конверте сообщения
allmasquerade Принудительное преобразование всех адресов получателей
limited_masquerade Избирательное преобразование адресов
masquerade_entire_domain Преобразование адресов для нескольких доменных имен, определенных в настройке MASQUERADE_DOMAIN
 

Преобразование адресов нескольких хостов

В крупных офисах иногда целесообразно распределять различные функции почтового сервера между несколькими хост-компьютерами. Идея мультисерверной сети заключается в том, что один сервер выступает в роли центрального почтового узла (его еще называют почтовым хабом), в то время как другие серверы обслуживают клиентов почтовой системы, которые отправляют и получают почтовые сообщения. Благодаря этому снимается нагрузка на центральный почтовый сервер, но если вы имеете дело с сотнями и даже тысячами пользователей, то такая схема работы почтовой системы, скорее, затруднит ее функционирование. Конечно же, бывают ситуации, когда поддержание нескольких почтовых серверов продиктовано, скорее, политическими, а не техническими соображениями. На рис. 17.2 представлен пример мультисерверной системы электронной почты.

 

 

Мультисерверная почтовая система

Рис. 17.2.  Мультисерверная почтовая система

 

 

На центральном почтовом сервере под управлением ОС Linux используется одна из стандартных схем подключения к провайдеру Internet, описанных в лекции 13. Вспомогательные почтовые серверы должны быть сконфигурированы для работы с центральным сервером, который выступает в роли интеллектуального хоста. Кроме того, на вспомогательных серверах в программе sendmail должны быть включены настройки для преобразования адресов, что позволит изменять обратные адреса в исходящих сообщениях пользователей на доменное имя.

 

Применение такой конфигурации упрощает исходящие сообщения, поскольку, к какому из вспомогательных серверов не был бы подключен пользователь, адрес его электронной почты будет одним и тем же (если, конечно, на двух вспомогательных серверах нет пользователей с одним и тем же именем). Однако при работе по данной схеме возникают некоторые проблемы с входящей почтой. Предположим, что на вспомогательном почтовом сервере с именем spoke1.smallorg.org имеется пользователь frank. Все исходящие сообщения от сервера spoke1.smallorg.org посылаются через центральный почтовый сервер провайдеру Internet. Если используется преобразование адресов, обратный адрес пользователя frank будет frank@smallorg.org. На рис. 17.3 иллюстрируется этот пример.

 

 

Пример отправки сообщения через вспомогательный почтовый сервер

Рис. 17.3.  Пример отправки сообщения через вспомогательный почтовый сервер

 

 

Итак, исходящее сообщение поступает от вспомогательного сервера на центральный почтовый сервер и далее, через сервер провайдера, в сеть Internet. А как же ведет себя входящее сообщение? Предположим, что запись в DNS, определяющая почтовый сервер для домена, указывает на сервер провайдера. Тот, в свою очередь, собирает почту для вашего домена и передает ее через определенные интервалы времени на центральный почтовый сервер вашего домена. Затем центральный почтовый сервер определяет, на какой из вспомогательных серверов нужно переслать пришедшие сообщения. На рис. 17.4 показана схема получения сообщения для пользователя на вспомогательном сервере.

 

 

Схема прохождения сообщения для пользователя на вспомогательном сервере (в данном случае сообщение утеряно)

Рис. 17.4.  Схема прохождения сообщения для пользователя на вспомогательном сервере (в данном случае сообщение утеряно)

 

 

Если обратный адрес в сообщении указан как frank@spoke1.smallorg.org, то работа центрального сервера сильно упрощается. Однако в нашем случае (и в реальной жизни тоже) в сообщении указывается обратный адрес frank@smallorg.org. Центральный почтовый сервер (hub.smallorg.org) сконфигурирован для преобразования всех адресов к виду smallorg.org. Итак, центральный почтовый сервер при получении сообщения для пользователя frank решает, что домен smallorg.org достигнут, а этот пользователь является пользователем на сервере hub.smallorg.org. Очевидно, что такой пользователь на центральном сервере отсутствует, следовательно, сообщение будет возвращено отправителю из-за невозможности его доставки.

 

Для решения этой проблемы можно воспользоваться файлом aliases на центральном сервере. Если создать для пользователя frank псевдоним, который будет указывать на адрес frank@spoke1.smallorg.org, то сообщение будет доставлено на соответствующий почтовый сервер, откуда пользователь frank сможет его получить. Хотя такой способ имеет право на существование, все же он представляется не совсем правильным. Чаще в такой ситуации применяется специальная конфигурация программы sendmail — поддержка виртуальных хостов (виртуальный хостинг). С помощью этой настройки почта для пользователя frank будет пересылаться на соответствующий вспомогательный почтовый сервер и затем в почтовый ящик пользователя frank.

 

Виртуальный хостинг

Виртуальный хостинг позволяет программе sendmail обращаться к специальной таблице пользователей, в которой описываются способы перенаправления входящих сообщений. Эта таблица напоминает файл aliases, но является более универсальной. На рис. 17.5 представлена схема работы таблицы виртуальных пользователей.

 

 

Пересылка почты с помощью таблицы виртуальных пользователей

Рис. 17.5.  Пересылка почты с помощью таблицы виртуальных пользователей

 

 

Сначала необходимо создать новый файл конфигурации для sendmail, где описывается центральный почтовый сервер. Для использования виртуального хостинга задайте в файле макросов настройку virtusertable. Это делается следующим образом:

 
FEATURE ('virtusertable',
'hash /etc/virtusertable')

После регенерации файла конфигурации sendmail с помощью макропроцессора m4 перезапустите на сервере программу sendmail.

 

Создайте таблицу виртуальных пользователей, в которой указывается, каким образом, пользователям будут пересылаться почтовые сообщения. Как и файл aliases, таблица виртуальных пользователей представляет собой текстовый файл, который необходимо преобразовать в файл хешированной базы данных.

 

Текстовая версия таблицы виртуальных пользователей содержится в файле /etc/virtusertable.

 

Каждый пользователь должен описываться в отдельной строке. Формат записи в таблице виртуальных пользователей следующий:

 
virtaddress realaddress,

где virtaddress — адрес виртуального пользователя, для которого sendmail будет принимать сообщения, а realaddress — его реальный почтовый адрес, на который sendmail будет пересылать принятые сообщения. Эти два адреса в строке таблицы должны разделяться символом табуляции (клавиша Tab). В листинге 17.3 представлен пример таблицы виртуальных пользователей.

 
1 frank@smallorg.org frank@spoke1.smallorg.org
2 melanie@smallorg.org melanie@spoke1.smallorg.org
3 haley@smallorg.org haley@spoke2.smallorg.org
4 riley@smallorg.org riley@spoke2.smallorg. org
5 katie@smallorg.org katie@spoke3.smallorg. org
6 jessicaiasmallorg.org jessica@spoke3.smallorg.org
7 rich@smallorg.org rich
8 barbara@smallorg.org barbara

Листинг 17.3. Пример файла /etc/virtusertable

В строках 1 и 2 листинга 17.3 описаны пользователи, которые работают с электронной почтой через сервер spoke1.smallorg.org. Таким образом, когда центральный почтовый сервер получает сообщение на адрес frank@smallorg.org, он автоматически пересылает его на frank@spoke1.smallorg.org. То же самое происходит в строках 3–4 — пользователи сервера spoke2.smallorg.org получают почту из Internet через центральный почтовый сервер hub.smallorg.org. Таким же образом обслуживаются и остальные вспомогательные почтовые серверы в локальной сети. При создании новой учетной записи на одном из вспомогательных серверов необходимо добавлять соответствующую строку в таблицу виртуальных пользователей. Помните также, что на двух вспомогательных почтовых серверах нельзя использовать одинаковые имена пользователей.

 

Строки 7 и 8 немного отличаются от предыдущих. В них описаны пользователи центрального почтового сервера hub.smallorg.org. Дело в том, что по умолчанию, если имя пользователя не указано в таблице виртуальных пользователей, программа sendmail предполагает, что она имеет дело с пользователем на локальном сервере. Следовательно, строки 7 и 8 можно было бы опустить, но иногда для учета пользователей их желательно указывать.

 

После создания файла /etc/virtusertable его необходимо преобразовать в формат хешированной базы данных, понятный программе sendmail. Для этого воспользуйтесь программой makemap. Формат команды на запуск makemap следующий:

 
makemap hash /etc/virtusertable < /etc/virtusertable

Возможно, он покажется вам несколько необычным, но именно таким образом из текстового файла /etc/virtusertable программа makemap создает файл /etc/virtusertable.db. При внесении каких-либо изменений в таблицу виртуальных пользователей необходимо повторно запускать программу makemap.

 

Кроме пересылки сообщений на соответствующие вспомогательные почтовые серверы, таблица виртуальных пользователей может применяться и для других целей. В листинге 17.4 представлено несколько дополнительных записей, которые могут присутствовать в файле /etc/virtusertable.

 
1 rich@smallorg.org rich@othermail.com
2 @acct.smallorg. acct
3 baduser@smallorg.org error:nouser No such user
4 register@smallorg.org rich
5 officenews@smallorg.org officenews
6 @smallorg.org %1@neworg.org

Листинг 17.4. Дополнительные записи в /etc/virtusertable

В строках листинга 17.4 представлены все возможные варианты записей, поддерживаемых в таблице виртуальных пользователей. В строке 1 представлена запись, которая выполняет фактически ту же функцию, что и файл aliases, — пересылает сообщения на адрес электронной почты пользователя другого почтового сервера в сети Internet.

 

Запись в строке 2, вероятно, очень часто применяется вашим провайдером сети Internet. С ее помощью вся почта, адресованная определенному домену, направляется в один почтовый ящик на сервере. Этот способ обработки почты может быть весьма полезен, если необходимо поддерживать связь с удаленными филиалами офиса, которые соединяются с центральным почтовым сервером для получения почты на домен второго уровня acct.smallorg.org. В лекции 13 подробно описан процесс рассылки сообщений из общего почтового ящика на главном сервере в индивидуальные ящики пользователей на удаленных серверах.

 

В строке 3 представлена еще одна полезная запись, применяемая в таблице виртуальных пользователей. Например, если необходимо принудительно выдать на определенный адрес электронной почты сообщение об ошибке, то это можно сделать прямо в таблице. В строке 4 представлена запись, благодаря которой почта, принятая на псевдоним, перенаправляется на реальную учетную запись пользователя локального почтового сервера.

 

В строке 5 представлена запись таблицы виртуальных пользователей, совмещающая функции почтовых псевдонимов со своими функциями. При создании псевдонима officenews, описанного в начале лекции, таблица виртуальных пользователей может перенаправлять на локальный псевдоним сообщения, посланные на этот адрес. И если в качестве локального псевдонима будет задан список адресов электронной почты в виде файла, то сообщение будет разослано каждому из них.

 

Запись в строке 6 представляет собой довольно редкий случай перенаправления сообщений электронной почты. Если по какой-либо причине возникает необходимость перенаправлять электронную почту для целого домена, то приведенная в строке 6 запись решает именно эту задачу. В этой записи все сообщения для домена smallorg.org будут перенаправлены в домен neworg.org. Имена пользователей при этом остаются неизменными.

 

Резюме

В этой лекции мы рассмотрели несколько дополнительных функций, присущих офисным системам электронной почты. Довольно часто в системе электронной почты возникает потребность создания временных учетных записей для специальных событий или для выполнения определенных задач. Так, программа sendmail позволяет использовать почтовые псевдонимы для перенаправления почтовых сообщений от несуществующего пользователя на действующий почтовый ящик. В файле /etc/aliases хранятся все псевдонимы для действующих почтовых ящиков. Для преобразования текcтового файла /etc/aliases в хешированную базу данных, к которой сможет обращаться программа sendmail, воспользуйтесь программой newaliases. При внесении каких-либо изменений в текстовую версию файла также необходимо запускать программу newaliases, с помощью которой эти изменения вносятся и в файл хешированной базы данных. Еще одна полезная функция программы sendmail — преобразование адресов электронной почты (маскарадинг). С его помощью несколько хостов могут использовать в обратных адресах сообщений одно и то же доменное имя. Для этого необходимо организовать центральный почтовый сервер и создать на нем таблицу виртуальных пользователей. С помощью таблицы виртуальных пользователей центральный почтовый сервер может доставлять сообщения, адресованные пользователям домена, в почтовые ящики на соответствующих вспомогательных почтовых серверах.

 
©Автор: Р. Блам  источник: http://www.INTUIT.ru 


 

13 центов(0,13$) за клик, выплаты через WebMoney каждый вторник +10% с рефералов

Мы выкупаем 100% трафа! $12 за 1000 хостов (РФ), и до $4 за 1000 хостов (зарубежный траф) + 10% с дохода Ваших рефералов!
 Выплаты через
WebMoney

~80-100$ за1000 хостов 2.5$ за 1 смс.
реф. процент - 10 %Выплаты происходят раз в неделю, в четверг на
WebMoney
 
 

 

____________________________

Посмотреть порно видео в онлайне »

_______________________________

 

   
   
Сайт управляется системой uCoz