. У меня есть почтовый сервер, на котором работает Sendmail, на котором размещено несколько почтовых доменов. Так, например, электронные письма, адресованные @ aaa.com и @ bbb.com, отправляются на один и тот же сервер. Все это время я использую / etc / mail / virtusertable
для управления сопоставлением разных пользователей разных почтовых доменов с разными локальными учетными записями.
Но теперь я только что обнаружил / etc / псевдонимы
могут делать аналогичные вещи.
/ etc / aliases
и / etc / mail / virtusertable
? псевдонимы
, но не virtusertable
, и наоборот? Я поискал в Интернете, но не нашел ни одного сайта, на котором бы очень подробно сравнивались различия.
virtusertable
обеспечивают однозначное отображение адреса получателя. псевдонимы
обеспечивают отображение «один ко многим» (удобно для списков рассылки).
псевдонимы
отображают "бездоменного" получателя (получатели в локальных доменах электронной почты с вырезанной доменной частью электронной почты). virtusertable
отображает полный адрес получателя.
virtusertable
обрабатывает переназначение «всех других / оставшихся адресов в домене электронной почты».
Отображение «виртуального в псевдоним» может использоваться для получения одного ко многим отображение.
Подсказка на уровне мастера : Можно сделать так, чтобы sendmail.cf обрабатывал псевдонимы для полных писем (пользовательская часть и домен), но sendmail.cf, созданный с использованием файлов m4, предоставляемых sendmail.org, не обрабатывает его. Реализация этого не будет очень сложной, но, IMHO, некоторые неожиданные "побочные эффекты" гарантированы => надлежащий период тестирования будет ДЛИННЫЙ .
Основное отличие, которое я помню, состоит в том, что virtusertable
может содержать информацию домена , а также информацию пользователя ; то есть; (hidden) и (hidden) являются действительными и разными левыми частями в virtusertable
, но используются вместе в псевдонимах
, они будут производить ошибка дублирования псевдонима
.
Это все еще оставляет целую группу записей, которые могут законно войти в любую; я считаю, что следует использовать псевдонимы
везде, где это возможно, оставляя virtusertable
для тех вещей, которые зависят от домена.
bangal (qv) отмечает некоторые более важные различия, например, возможность для отправки электронной почты в каналы и файлы.
Краткий ответ:
Псевдонимы - это процесс преобразования одного имени локального получателя в системе в другое и Псевдоним происходит только для локальных имен . Это означает, что имя пользователя
должно быть доступно через getpwnam из базы данных паролей:
например, локальный файл паролей / etc / passwd, NIS и LDAP.
Функция sendmail virtusertable
обеспечивает поддержку виртуальных пользователей, то есть отображает несистемных пользователей.
Я процитировал следующее из здесь . Очень хорошо объяснено, пожалуйста, посмотрите.
/ etc / mail / aliases
Этот файл базы данных содержит список виртуальных почтовых ящиков, которые расширен до пользователей, файлов, программ или других псевдонимов. Вот несколько записи для иллюстрации формата файла:
root: localuser ftp-ошибки: джо, эрик, пол bit.bucket: / dev / null procmail: "| / usr / local / bin / procmail"
Имя почтового ящика в левой части двоеточия расширяется до цель (и) справа. Первая запись расширяет корневой почтовый ящик до почтовый ящик localuser, который затем просматривается в / etc / mail / aliases база данных. Если совпадений не найдено, появляется сообщение доставлен местному пользователю. Вторая запись показывает список рассылки. Пишите на ftp-bugs расширен до трех локальных почтовых ящиков: joe, eric и paul. Удаленный почтовый ящик можно указать как (скрытый) Третий запись показывает, как писать почту в файл, в данном случае / dev / null. В последняя запись демонстрирует, как отправлять почту программе, / usr / local / bin / procmail через канал UNIX®. Обратитесь к псевдонимам (5) для больше информации о формате этого файла.
/ etc / mail / virtusertable
Этот файл базы данных отображает почтовые адреса для виртуальных доменов и пользователей. в реальные почтовые ящики. Эти почтовые ящики могут быть локальными, удаленными, псевдонимами. определены в / etc / mail / aliases или файлах. Это позволяет использовать несколько виртуальных домены, которые будут размещены на одном компьютере.
В следующем примере показано, как создавать пользовательские записи с помощью этот (скрытый) корень (скрыто) (скрыто) @ example.com Джо
Этот файл обрабатывается в порядке первого совпадения. Когда адрес электронной почты совпадает с адресом слева, он сопоставляется с локальным почтовый ящик, указанный справа. Формат первой записи в этом пример отображает конкретный адрес электронной почты в локальный почтовый ящик, тогда как формат второй записи отображает конкретный адрес электронной почты на удаленный почтовый ящик. Наконец, любой адрес электронной почты с example.com, который не соответствует любая из предыдущих записей будет соответствовать последнему сопоставлению и будет отправлено в локальный почтовый ящик joe.
Теперь немного более подробные ответы на ваши вопросы:
Попробуйте следующее:
Если ваш MTA сервер является основным MX для кучки DOMAINS, то вы маршрутизируете их через virtusertable. Virtusertable позволяет выбирать отдельные письма назначения, такие как "abuse@..." и "postmaster@", и пересылать все остальное на один почтовый ящик или другой сервер с другим именем, но сохраняя при этом все, что осталось от '@'. Например:
abuse@xyz.com: helpdesk <--- which could be in /etc/aliases to a list
postmaster@xyz.com: adminteam@vendor.xyz <--- specific destination
@xyz.com: %1@customer2.server.com <--- route everything else to another host`
Ваш файл /etc/aliases действительно предназначен для настройки простых назначений от одного пользователя к другому или от одного пользователя к группе других пользователей:
root: sa@system.com <--- route all root mail to sysadmin
sales: jdoe,mdoe,sone,mike@somewhere.com,sally@elsewhere.com <-- to a list
nobody: /dev/null <--- anything sent to "nobody" disappears forever
Псевдонимы не очень хорошо справляются с несколькими доменами, с другой стороны, virtusertable очень хорошо справляется с ними.
Вам нужно будет настроить MX-записи соответствующим образом и т.д.
Спасибо, Давид