Я настроил почтовый сервер postfix в Linux с dovecot. Теперь проблема в том, что когда я настраиваю автоответ, он отвечает отправителю двумя письмами. Я использовал Vacation.pl, Perl-скрипт администратора postfix для автоматического ответа на письмо отправителю. Я настроил его раньше и проверил, что проблем не было. Но после изменения структуры базы данных я изменил конфигурацию постфикса, конфигурацию dovecot и скрипт Vacation.pl. Как я думаю, в запросе к базе данных проблем нет.
У меня такая же проблема, когда я отправляю скрытую копию какому-то пользователю. Пользователь получит два письма. Я не нашел проблему, в которой это в голубятне, автоответчик.
Мой master.cf
файл, как показано ниже.
# ==========================================================================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ==========================================================================
smtp inet n - - - - smtpd
# -o content_filter=spamfilter:dummy
-o content_filter=vacation:dummy
-o content_filter=dfilt:dummy
vacation unix - n n - - pipe
flags=Rq user=vacation argv=/var/spool/vacation/vacation3.pl -f ${sender} -- ${recipient}
# flags=Rq user=vacation argv=/usr/bin/perl argv=/var/spool/vacation/vacation.pl -f ${sender} -- ${recipient}
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - n 300 1 oqmgr
tlsmgr unix - - n 1000? 1 tlsmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - n - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - n - - smtp
-o smtp_fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - n - - showq
error unix - - n - - error
retry unix - - n - - error
discard unix - - n - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
scache unix - - n - 1 scache
#
#spamassassin unix - n n - - pipe
# flags=Rq user=spamd argv=/usr/bin/spamc -u ${user} -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -d ${recipient}
#spamfilter unix - n n - - pipe
# flags=Rq user=spamfilter argv=/usr/local/bin/spamfilter.sh -f ${sender} -- ${recipient}
#spamfilter unix - n n - - pipe
# flags=Rq user=vmail argv=/usr/bin/spamc -u ${user}@${domain} -e /usr/sbin/sendmail.postfix -oi -f ${sender} ${recipient}
dfilt unix - n n - - pipe
flags=Rq user=filterAlt argv=/etc/postfix/disclaimer -f ${sender} -- ${recipient}
#vacation unix - n n - - pipe
# flags=Rq user=vacation argv=/var/spool/vacation/vacation3.pl -f ${sender} -- ${recipient}
Вы можете отправить ответ на отпуск через плагины сита. Они также добавят мощные возможности фильтрации почты на стороне сервера.
Пример сит-файла для автоответчика:
require ["fileinto", "vacation"];
vacation
# Reply at most once a day to a same sender
:days 1
:subject "Out of office reply"
# List of additional recipient addresses which are included in the auto replying.
# If a mail's recipient is not the envelope recipient and it's not on this list,
# no vacation reply is sent for it.
:addresses ["j.doe@company.dom", "john.doe@company.dom"]
"I'm out of office, please contact Joan Doe instead.
Best regards
John Doe";
Видеть Страница сита Dovecot Чтобы получить больше информации.
У меня тоже проблема с фильтрами содержимого. Добавление этой строки после фильтров содержимого позволило устранить отправку нескольких сообщений.
-o receive_override_options=no_address_mappings
добавьте эту строку после всех ваших фильтров в декларацию smtp, чтобы она выглядела так ...
smtp inet n - - - - smtpd
# -o content_filter=spamfilter:dummy
-o content_filter=vacation:dummy
-o content_filter=dfilt:dummy
-o receive_override_options=no_address_mappings
По общему признанию, я только тестировал его со своим фильтром spamassassin. Сообщите мне, если это сработает.