
У меня есть настройка postfix с ретранслятором и некоторыми файлами пересылки (сервер Ubuntu 12.04). У root есть файл .forward, который содержит только user@fqdn. Затем у пользователя есть файл .forward для[email protected]
Отправка почты работает почти во всех случаях, за исключением...
Если я вызываю "sendmail -bv root" или "sendmail -bv user", я не получаю письмо ни в свой внешний почтовый ящик, где я его ожидал, ни в какой-либо локальный почтовый ящик. Кажется, оно просто уходит в эфир.
Если я удалю файлы .forward, то получу результат в локальном почтовом ящике.
Есть идеи, как заставить работать пересылку?
Я наткнулся на эту проблему, следуяэтотруководство по настройке пересылки в первую очередь. Кажется, это работает для этого парня, и я не вижу, в чем разница, кроме его настройки, специфичной для gmail.
ОБНОВЛЯТЬ:
Я удалил файлы .forward и вместо этого использую псевдонимы, как указано в комментарии ниже. Я запустил "sudo newaliases" и перезапустил postfix, и отправка почты как root, так и user перенаправляется на мой внешний адрес. Но я все еще не получаю отчеты о состоянии доставки почты. В mail.log указано, что она отправляется на мой внешний адрес (добавляется в очередь), а затем удаляется из очереди. Похоже, что моему внешнему SMTP-серверу что-то не нравится. Может быть, "orig_to"?
решение1
Вместо того чтобы использовать файл .forward для root, что сопряжено со своими собственными проблемами, вам следует сделать то, что рекомендуют все стандарты электронной почты и автор postfix: создать псевдоним адреса, указывающий root
на реального пользователя или почтовый ящик.
/etc/aliases:
root: [email protected]
Это гарантирует, что разрешения на доступ к почтовому ящику и привилегии root не являются частью проблемы.
EDIT: На самом деле, прочтение той ссылки о том, как не надо делать, которую вы включили, многое объясняет...
Автор этой страницы утверждает:
- Postfix необходимо настроить для обработки и распознавания внешних адресов.
- В качестве меры безопасности пользователь root не может отправлять почту на внешние адреса, поэтому нам необходимо переслать почту root другому пользователю, прежде чем отправлять ее на внешний адрес.
Первый вариант включен «из коробки», что заставляет меня задуматься, как автор испортил установку Postfix перед написанием статьи, а второй — полная чушь.
ДАЖЕ ЕСЛИ бы существовала какая-то защита, которая не позволяла бы корневому псевдониму указывать на внешние ресурсы (а ее нет), все, что вам нужно было бы сделать, это присвоить псевдоним root фиктивному пользователю и присвоить этому фиктивному пользователю чужой адрес; postfix корректно разрешает ссылки на псевдонимы произвольной глубины.