У меня есть собственный сервер Postgresql для моих виртуальных таблиц в Postfix, но бывают случаи, когда электронная почта пользователя настроена неправильно и на нее отвечает User unknown in virtual alias table
ошибка. Я хотел бы иметь возможность хранить такие сообщения в очереди для просмотра и, возможно, отправки на правильно настроенный адрес электронной почты позже. Можно ли настроить Postfix на отправку этих отклоненных писем в очередь?
Изменить: лучшее решение, которое я нашел, - использовать defer_if_reject
в main.cf
, но если бы я только хотел defer_if_reject
если адрес электронной почты не найден в таблице виртуальных адресов электронной почты, как я могу это сделать? И можно ли было бы пересылать только такое сообщение в отдельную очередь, а не в общую deferred
очередь?
Если вы согласны с defer_if_reject
решение, вы можете добавить это правило в smtpd_recipient_restriction
defer_if_reject reject_unlisted_recipient
Для получения дополнительной информации проверьте официальная документация
Для ДЕРЖАТЬ решение, вы можете выполнить поиск по запросу postgresql, чтобы вернуть значение HOLD, если учетная запись не существует в таблице. Быстрый поиск в Google показывает, что у Postgre есть функция WHERE NOT EXISTS
(проверьте эту страницу для некоторых примеров). (Извините, я не знаком с Postgre :))
Итак, в smtpd_recipient_restriction определите
check_recipient_access pgsql:/path/to/pgsql/config
Для содержания /path/to/pgsql/config
пожалуйста, проконсультируйтесь с этим страница руководства