У меня есть почтовый сервер, на котором работает Sendmail, на котором размещено несколько почтовых доменов. Так, например, электронные письма, адресованные @ aaa.com и @ bbb.com, отправляются на один и тот же сервер. Все это время я использую /etc/mail/virtusertable
для управления сопоставлением разных пользователей разных почтовых доменов с разными локальными учетными записями.
Но теперь я только что узнал /etc/aliases
может делать то же самое.
/etc/aliases
и /etc/mail/virtusertable
? aliases
могу сделать но не virtusertable
, и наоборот? Я поискал в Интернете, но не нашел ни одного сайта, который бы очень подробно сравнивал различия.
virtusertable
обеспечивает соответствие адреса получателя один в один. aliases
обеспечить отображение "один ко многим" (удобно для списков рассылки).
aliases
сопоставить получателя "без домена" (получатели в локальных доменах электронной почты с удаленной доменной частью электронной почты). virtusertable
отображает полный адрес получателя.
virtusertable
обрабатывает переназначение «всех остальных / оставшихся адресов в домене электронной почты».
Отображение "виртуальный псевдоним" может использоваться для получения сопоставления "один ко многим".
Подсказка уровня мастера: Можно заставить sendmail.cf обрабатывать псевдонимы для полных писем (пользовательская часть и домен), но sendmail.cf, созданный с использованием файлов m4, предоставленных sendmail.org, не обрабатывает его. Внедрение не будет очень сложным, но ИМХО некоторые неожиданные "побочные эффекты" гарантированы => надлежащий период тестирования будет ДЛИННЫЙ.
Короткий ответ:
Псевдонимы - это процесс преобразования одного имени локального получателя в системе в другое и Псевдонимы возникают только в местных именах. Это означает, что username
должен быть доступен через Getpwnam из базы паролей:
например, локальный файл паролей / etc / passwd, NIS и LDAP.
Sendmail virtusertable
функция включает поддержку виртуальных пользователей, то есть отображает несистемных пользователей.
Я процитировал следующее из Вот. Очень хорошо объяснено, пожалуйста, посмотрите.
/ etc / mail / псевдонимы
Этот файл базы данных содержит список виртуальных почтовых ящиков, расширенных до пользователей, файлов, программ или других псевдонимов. Вот несколько записей, иллюстрирующих формат файла:
root: localuser ftp-bugs: joe,eric,paul bit.bucket: /dev/null procmail: "|/usr/local/bin/procmail"
Имя почтового ящика в левой части двоеточия расширяется до цели (ей) справа. Первая запись расширяет корневой почтовый ящик до почтового ящика локального пользователя, который затем просматривается в базе данных / etc / mail / aliases. Если совпадений не найдено, сообщение доставляется локальному пользователю. Вторая запись показывает список рассылки. Почта для ftp-bugs расширена до трех локальных почтовых ящиков: joe, eric и paul. Удаленный почтовый ящик можно указать как user@example.com. Третья запись показывает, как писать почту в файл, в данном случае / dev / null. Последняя запись демонстрирует, как отправлять почту программе / usr / local / bin / procmail через канал UNIX®. Обратитесь к aliases (5) для получения дополнительной информации о формате этого файла.
/ и т.д. / mail / virtusertable
Этот файл базы данных сопоставляет почтовые адреса виртуальных доменов и пользователей с реальными почтовыми ящиками. Эти почтовые ящики могут быть локальными, удаленными, псевдонимами, определенными в / etc / mail / aliases, или файлами. Это позволяет размещать несколько виртуальных доменов на одном компьютере.
В следующем примере показано, как создавать пользовательские записи с использованием этого формата:
root@example.com root postmaster@example.com postmaster@noc.example.net @example.com joe
Этот файл обрабатывается в порядке первого совпадения. Когда адрес электронной почты совпадает с адресом слева, он сопоставляется с локальным почтовым ящиком, указанным справа. Формат первой записи в этом примере сопоставляет конкретный адрес электронной почты с локальным почтовым ящиком, тогда как формат второй записи сопоставляет конкретный адрес электронной почты с удаленным почтовым ящиком. Наконец, любой адрес электронной почты с example.com, который не соответствует ни одной из предыдущих записей, будет соответствовать последнему сопоставлению и будет отправлен в локальный почтовый ящик joe.
А теперь чуть более подробные ответы на ваши вопросы:
Главное отличие, которое я помню, состоит в virtusertable
может содержать домен информация, а также пользователь Информация; то есть; foo@example.com
и foo@example.co.uk
оба действительны и отчетливый левые части в virtusertable
, но используются вместе в aliases
они произведут duplicate alias name
ошибка.
Это по-прежнему оставляет целую группу записей, которые могут законно войти в нее; я считаю, что нужно использовать aliases
везде, где возможно, оставляя virtusertable
для тех вещей, которые относятся к предметной области.
bangal (q.v.) отмечает некоторые более важные различия, например, возможность отправлять электронную почту в каналы и файлы.
Попробуй это:
Если ваш MTA-сервер является основным MX для группы ДОМЕНОВ, вы маршрутизируете их через 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 и т. Д.
Привет, Дэвид