У меня есть приложение на сервере, которое отправляет почту через sendmail локальной системы. Я хочу написать программу, которая принимает полезные данные сообщения, изменяет их и затем отправляет исходным получателям.
Я запускаю sendmail 8.14.4-8 на сервере Red Hat 6.4.
Я подумал, что могу заменить ссылку на / usr / sbin / sendmail ссылкой на мой собственный скрипт, который будет выполнять эту работу, а затем делегировать его фактическому двоичному файлу sendmail.
Это, похоже, не сработало, поэтому затем я попытался настроить программируемый SMTP-сервер на том же хосте и попытался заставить sendmail ретранслировать ему сообщения, но sendmail не хотел ретранслировать ни на какой порт, кроме 25. Я пробовал использовать следующие строки:
dnl define(`RELAY_MAILER_ARGS', `TCP $h 8025')dnl
dnl define(`ESMTP_MAILER_ARGS', `TCP $h 8025')dnl
Я читал, что это сработает, но sendmail просто продолжал пробовать порт 25.
У кого-нибудь есть другие идеи, как я могу подойти к этой проблеме?
Спасибо, Карл
Благодаря предложению @MikeB выше. Я думал, что «milter» - это опечатка, но почтовые фильтры sendmail буквально называются «milter». Иди разбери. В любом случае, я написал milter, который позволяет мне изменять исходящее сообщение, и я должен сказать, что это было не так сложно, как некоторые другие вещи, которые я пробовал.