Налаштування переадресації пошти в Postfix


2 хвилини

Вступ

Переадресація пошти 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. Це забезпечує як правильну переадресацію повідомлень, так і чітку ідентифікацію пересланих листів.