мой почтовый сервер размещает электронную почту для двух разных доменов, которые он отвечает как физические домены, а также обрабатывает несколько виртуальных писем. Да, это безумие, но postfix позволяет мне это делать.
недавно, я пытался добавить поддержку maildrop, чтобы позволить мне фильтровать электронную почту на каждой учетной записи в соответствии с потребностями получателей.
соответствующая главная.CF выдержка:
myorigin = /etc/mailname
mydestination = domain1.com, domain2.com, localhost.localdomain, localhost.localdomain, localhost
home_mailbox = Maildir/
maildrop_destination_recipient_limit = 1
mailbox_command = /usr/bin/maildrop -d ${USER}
virtual_mailbox_domains = domain3.com domain4.com
virtual_mailbox_base = /var/mail
virtual_mailbox_maps = hash:/etc/postfix/virtual/maps
virtual_alias_maps = hash:/etc/postfix/virtual/aliases
virtual_minimum_uid = 1000
virtual_uid_maps = static:vmail
virtual_gid_maps = static:vmail
virtual_transport = maildrop
Как вы уже догадались, мастер.cf содержит maildrop транспорт:
maildrop unix - n n - - pipe
flags=ODRhu user=vmail:vmail argv=/usr/bin/maildrop -w 90
-d ${user}@${nexthop}
${extension} ${recipient} ${user} ${nexthop}
теперь моя проблема в том, что только domain1 успешно получает поиск пользователей. Если я по электронной почте user@domain2.com, maildrop жалуется:
s_connect () ошибка: нет такого файла или каталога /usr/bin/maildrop: не удается открыть почтовый ящик.
и письма на domain3 / domain4 жалуются:
s_connect () не удалось: недопустимый пользователь не указан такой файл или каталог.
не неудивительно, что /etc / mailname == domain1.com.
Я считаю, что часть моей проблемы может быть мастером.CF и/etc / maildroprc конфигурации, так что мои вопросы двоякие:
- есть ли способ настроить их, чтобы хорошо играть с моей несколько запутанной установки?
- является ли maildrop инструментом для этого, или есть лучший MTA, который явно поддерживает этот вид макета (и если да, то как я его использую)?
наконец, как кроме того, если этот вопрос лучше на serverfault/unix/ubuntu, не стесняйтесь перемещать его туда.