Автовідповідач у postfix
Вітаю читачів цього сайту.
Тема, яку я збираюся порушити, тут не нова, але, можливо, комусь допоможе.
Дано: 1. Настроєний postfix+cyrus-imap+sasl2. Поштовий сервер обслуговує 3 домени (domain1.ru, domain2.ru, domain3.ru)
Завдання: Зробити «автовідповідач» відправнику. Тобто, якщо одержувач листа на лікарняному і йому надходить лист, то лист має опинитися в його ж ящику, а відправнику має бути відповідь, що, мовляв, «Іванов на лікарняному, з усіх питань звертатися до Петрова».
Відразу скажу, що інформація про те, як це зробити, в інтернеті є, але я наведу рішення, яке зробить автовідповідач для кожного користувача кожного домену окремо. Я намагався робити якийсь універсальний скрипт цих цілей, але під час випробувань дійшов висновку, що краще зробити кожному користувачеві свій скрипт. Рішення: 1. Створюємо файл повідомлення /etc/postfix/script/[email protected] із вмістом:
2. /etc/postfix/master.cf додаємо наступне
3. /etc/postfix/main.cf додаємо
6. Готуємо скрипт відповіді на повідомлення: /etc/postfix/script/autoreply_ivanov_domain1 із вмістом
1-2. Присвоюємо змінним значення інших змінних, одержаних від postfix. Ці змінні виявляться тут з цього рядка файлу master.cf argv=/etc/postfix/script/autoreply_ivanov_domain1 $ $ 3-4. Змінна recipient дорівнюватиме «[email protected]@[email protected]» і звідси нам треба висмикнути «[email protected]» що ми і робимо. Спочатку смикаємо перше поле «ivanov» до першого роздільника, а потім друге поле «domain1.ru» 5. Після виконання цього рядка змінна name матиме вигляд [email protected]. 6. Змінній текст надається значення вмісту файлу[email protected] 7. Власне посилаємо відповідь відправнику. Я думаю, з цим рядком все зрозуміло, від кого, кому, що посилаємо через який smtp, логін і пароль для скриньки [email protected], який, до речі, повинен бути, природно, створений.
Щоб створити автовідповідач для інших користувачів / доменів - все те ж саме, тільки потрібно правильно називати файли.
Хардкорна конфа за С++. Ми запрошуємо лише профі.