Вступ
Переадресація пошти Postfix – це зручний механізм, який дозволяє автоматично перенаправляти листи на зовнішні адреси. У цьому посібнику ми розглянемо налаштування на рівні користувача через файл .forward та навчимося ідентифікувати переслані листи за допомогою header_checks.
Мій Postfix налаштований на зберігання пошти в домашній директорії користувачів. Це означає, що кожен системний користувач має свою власну поштову скриньку. Ви можете побачити це налаштування в файлі /etc/postfix/main.cf:
home_mailbox = Maildir/
Оскільки користувачі створюються як локальні системні акаунти, для переадресації потрібно використовувати файл ~/.forward для кожного конкретного користувача.

Для налаштувань потрібно виконати три простих крок
- Створення файлу для переадресації
- Ідентифікація пересланих листів
- Перевірка переадресації
Створення файлу для переадресації
Для створення файлу переадресації скористайтеся терміналом з правами суперкористувача. В цьому прикладі я використаю акаунт “ostrich”.
sudo nano /home/ostrich/.forward
Додайте лише адресу, на яку буде пересилатися пошта:
[email protected]
З таким налаштуванням переслана пошта не зберігатиметься на сервері. Щоб зберігати переслану пошту на сервері, потрібно додати ім’я користувача перед слешем, після чого переслана пошта залишатиметься на сервері.
\ostrich, [email protected]
Після збереження змін, бажано змінити права доступу до цього файлу:
chmod 600 /home/ostrich/.forward
chown ostrich:ostrich /home/ostrich/.forward
Якщо вам зручніше керувати поштовими скриньками через веб-інтерфейс, раджу ознайомитися з моїм матеріалом про налаштування PostfixAdmin.
Ідентифікація пересланого листа
У Postfix можна додавати ідентифікатор або підпис до пересланих листів. Я зроблю це за допомогою header_checks. Цей метод дозволяє змінювати заголовки повідомлення перед пересиланням.
У конфігураційному файлі main.cf необхідно додати наступний рядок:
header_checks = regexp:/etc/postfix/header_checks
Оскільки цей файл ще не створений, необхідно створити його і додати рядок обробки заголовку:
sudo nano /etc/postfix/header_checks
Додайте наступний рядок:
/^Received:/ PREPEND X-Forwarded-By: Ostrich Mail
Цей рядок додає новий заголовок X-Forwarded-By: Ostrich Mail до кожного листа, який проходить через Postfix і містить заголовок Received.
Після цього перезавантажте службу Postfix:
systemctl restart postfix
Тепер можна перейти до перевірки.
Перевірка переадресації
Я надіслав лист з акаунта Gmail на свою пошту Ostrich, яка була переадресована на сервер Hotmail.
Залогінівшись на Hotmail, я відкрив лист і переглянув заголовки.
X-Forwarded-By: Ostrich Mail
Запис X-Forwarded-By був присутній, що підтверджує правильність налаштувань і роботу сервісу в цілому.
Після налаштування серверу важливо бачити повну картину його роботи, тому я рекомендую додати моніторинг Postfix активності в Zabbix.
Висновки
Процес налаштування переадресації пошти в Postfix можна ефективно налаштувати, створивши файл ~/.forward та використовуючи header_checks для додавання ідентифікаторів, таких як X-Forwarded-By. Це забезпечує як правильну переадресацію повідомлень, так і чітку ідентифікацію пересланих листів.
