Настройка почты · 3 min read · Sep 27, 2025

Как настроить автоответчик Postfix с помощью Autoresponse

Как настроить автоответчик Postfix с помощью Autoresponse

Версия 1.0
Автор: Фалко Тимме

Autoresponse — это автоответчик для MTA Postfix. Он позволяет создавать сообщения автоответчика для учетных записей электронной почты из командной строки, а также отправляя текст автоответчика на определенный адрес электронной почты.

Я не даю никаких гарантий, что это сработает для вас!

1 Предварительная заметка

Настройка, которую я описываю здесь, работает для всех моих настроек “Виртуальные пользователи и домены с Postfix, Courier, MySQL и SquirrelMail”. Я не гарантирую, что это будет работать для других настроек.

Я использую такую “Виртуальные пользователи и домены с Postfix, Courier, MySQL и SquirrelMail” здесь и настроил учетную запись электронной почты [email protected], для которой я хочу создать автоответчик.

2 Установка Autoresponse

Мы можем скачать и установить Autoresponse следующим образом:

cd /tmp  
wget http://www.nefaria.com/scriptz/autoresponse-1.6.2.tar.gz  
tar xvfz autoresponse-1.6.2.tar.gz  
cd autoresponse

useradd -d /var/spool/autoresponse -s `which nologin` autoresponse  
mkdir -p /var/spool/autoresponse/log /var/spool/autoresponse/responses  
cp ./autoresponse /usr/local/sbin/  
chown -R autoresponse:autoresponse /var/spool/autoresponse  
chmod -R 0770 /var/spool/autoresponse

Затем мы редактируем /etc/postfix/master.cf:

vi /etc/postfix/master.cf

В начале файла вы должны увидеть строку

| [...] smtp inet n - - - - smtpd [...] |

Измените ее так, чтобы она выглядела следующим образом (вторая строка должна начинаться хотя бы с одного пробела!):

| [...] smtp inet n - - - - smtpd -o content_filter=autoresponder:dummy [...] |

В конце файла добавьте следующие две строки (снова, вторая строка должна начинаться хотя бы с одного пробела!):

| [...] autoresponder unix - n n - - pipe flags=Fq user=autoresponse argv=/usr/local/sbin/autoresponse -s ${sender} -r ${recipient} -S ${sasl_username} -C ${client_address} |

Затем выполните…

postconf -e 'autoresponder_destination_recipient_limit = 1'

… и перезапустите Postfix:

/etc/init.d/postfix restart

Если у вас есть пользователи с доступом к оболочке, и вы хотите, чтобы эти пользователи могли создавать сообщения автоответчика самостоятельно в оболочке, вы должны добавить каждую учетную запись пользователя в группу autoresponse, например, следующим образом для системного пользователя falko:

usermod -G autoresponse falko 

Однако это не обязательно, если вы хотите создавать все сообщения автоответчика от имени root (или использовать функцию электронной почты для создания сообщений автоответчика - я к этому вернусь через мгновение).

3 Использование Autoresponse

Запустите

autoresponse -h

чтобы узнать, как использовать Autoresponse:

server1:~# autoresponse -h

/usr/local/sbin/autoresponse [-r {recipient email} -s {sender email} -S {sasl username} -C {client ip}]
[-e {email address}] [-d {email address}] [-E {email address}] [-D {email address}] [-h]

-r, -s, -S, и опционально -C должны использоваться вместе для
указания получателя, отправителя, имени пользователя sasl и IP-адреса клиента сообщения автоответчика.
Обычно вы настраиваете это в ”master.cf” Postfix,
но они также могут использоваться из терминала (только для тестирования!).
Если это выполняется из терминала, вам нужно нажать CTRL-D
когда вы закончите набирать текст сообщения автоответчика.

-e используется для создания нового автоответчика или редактирования существующего для указанного пользователя.
Если существует отключенное сообщение автоответчика,
оно будет игнорироваться, и будет создано новое сообщение.

-d используется для отключения существующего активного сообщения автоответчика.

-E используется для включения существующего сообщения автоответчика. Если существуют как отключенное, так и активное сообщение автоответчика,
активное сообщение будет перезаписано отключенным.

-D используется для удаления существующего сообщения автоответчика, оно не удалит отключенные сообщения автоответчика.

-h выводит это меню помощи

server1:~#

Чтобы создать сообщение автоответчика для учетной записи [email protected], мы выполняем…

autoresponse -e [email protected]

… и вводим текст автоответчика:

| Я буду отсутствовать на неделе с 2 марта с очень ограниченным доступом к электронной почте. Я отвечу как можно скорее. Спасибо! Фалко |

(Вы не можете установить тему с помощью этого метода; по умолчанию темой сообщений автоответчика будет “Вне офиса”).

Теперь отправьте электронное письмо на [email protected] с другого аккаунта, и вы должны получить сообщение автоответчика в ответ.

Чтобы отключить существующий автоответчик, выполните

autoresponse -d [email protected]

Чтобы включить деактивированный автоответчик, выполните

autoresponse -E [email protected]

Чтобы удалить автоответчик, выполните

autoresponse -D [email protected]

Вы можете изменить переменную RESPONSE_RATE в /usr/local/sbin/autoresponse. Она определяет временной лимит (в секундах), который определяет, как часто будет отправляться сообщение автоответчика для каждого адреса электронной почты. Значение по умолчанию — 86400 (секунд), что означает, что если вы отправите электронное письмо на [email protected] и получите сообщение автоответчика, а затем отправите второе электронное письмо на [email protected] в течение 86400 секунд (один день), вы не получите еще одно сообщение автоответчика.

vi /usr/local/sbin/autoresponse

| [...] declare RESPONSE_RATE="86400" [...] |

4 Создание/Удаление сообщений автоответчика по электронной почте

Вместо создания сообщений автоответчика в командной строке это также можно сделать по электронной почте. Если вы хотите создать сообщение автоответчика для адреса электронной почты [email protected], отправьте электронное письмо с [email protected] на [email protected] (это работает только если вы настроили SMTP-AUTH на своем сервере). Тема этого электронного письма станет темой сообщения автоответчика (таким образом, вы можете задать темы, отличные от “Вне офиса”), а текст письма станет текстом автоответчика.

Если вы создаете автоответчик таким образом, Autoresponse отправит вам электронное письмо с сообщением, подобным этому (чтобы вы знали, была ли операция успешной):

 Автоответчик включен для [email protected]  пользователем с аутентификацией SASL: [email protected]  от: 192.168.0.200   

Если для этого адреса электронной почты уже существует активный автоответчик, он будет отключен (т.е. активного автоответчика для этого адреса больше не будет, и вы получите электронное письмо, сообщающее вам об этом:

Автоответчик отключен для [email protected] пользователем с аутентификацией SASL: [email protected] от: 192.168.0.200

).

Это означает, что функция электронной почты является переключателем - если автоответчика нет, он будет создан, а если автоответчик есть, он будет отключен.

5 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.