Используйте /etc/aliases для исходящей почты, пересылаемой postfix с локальным доменом
Я использую Ubuntu 12.04 с постфиксом, настроенным как спутниковая система, которая передает исходящую почту в Gmail. Для примера, мой зарегистрированный домен - example.com. Я хочу, чтобы вывод ошибок root cronjobs отправлялся по почте в мой реальный почтовый ящик david@example.com. У меня это реле работает правильно.
Но эти корневые cronjobs по умолчанию настроены на отправку электронной почты по адресу root@example.com, который не является реальным адресом электронной почты. У меня в моем /etc/aliases
:
root: david@example.com
example.com не указан в main.cf постфикса mydestination
поэтому postfix не думает, что это письмо локальное. Обходит обработку через /etc/aliases
и пытается отправить на root@example.com.
Обходной путь добавляет MAILTO=david
вверху каждого файла cron. Но таких много. Другой обходной путь - настроить root@example.com как реальный почтовый ящик, который пересылается на david@example.com. Есть ли способ лучше? Т.е. есть ли способ ретранслировать электронные письма, которые имеют локальные домены, но все еще обрабатывают их адресата с помощью /etc/aliases
?
3 ответа
Я думаю, вы могли бы использовать виртуальный псевдоним.
Если example.com является вашим доменом на postfix:
в /etc/postfix/main.cf
virtual_alias_maps = хэш: / etc / postfix / virtual
в /etc/postfix/virtual
root@example.com dave
после редактирования
хэш postmap: / etc / postfix / virtual
Это должно работать.
Если я правильно понял ваш вопрос, письма на root@example.com теперь будут отправлены местному пользователю dave.
Другое решение заключается в использовании recipient_canonical_maps
параметр конфигурации postfix. По сравнению с virtual_alias_maps
преимущество в том, что myorigin
ни один не должен быть в mydestination
ни в virtual_mailbox_maps
(который virtual_alias_domains
по умолчанию). Таким образом, этот экземпляр постфикса не становится конечным пунктом назначения для myorigin
,
Добавьте это к вашему main.cf
:
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
Затем создайте файл с именем /etc/postfix/recipient_canonical
и введите что-то вроде этого:
root@example.com david@example.com
Наконец хэш это.
# postmap /etc/postfix/recipient_canonical
Если david также является локальной учетной записью, то вы можете задать строку псевдонима только для локальной сети, а затем настроить учетную запись david для переадресации. /etc/aliases будет:
root: david
Затем вы можете использовать другие правила postfix или файл.forward в учетной записи david для получения почты в gmail.