2016-04-20 3 views
0

Можно ли использовать milter под postfix для реализации SPF?postfix-mta: Milter для SPF?

Мне кажется, что это было бы невозможно, из-за того, что постфикс управляет доениями.

Согласно делать постфиксные документы, то Milter здесь идет в цепочке обработки сообщений:

Сеть => постфикс smptd процесс => Milter => постфикс smtpd процесс => и т.д.

Учитывая что milter получает свое сообщение из postfix smtpd, milter увидит его начальное соединение, исходящее из IP-адреса postfix. Это означало бы, что milter не знает IP-адрес исходного отправителя.

SPF нуждается в IP-адресе отправителя, поэтому представляется невозможным выполнить правильную проверку SPF изнутри постфиксного milter.

Это похоже на то, что происходит, когда я устанавливаю тестовое приложение в мой постфиксный сервер.

Правильно ли я об этом, или кто-нибудь смог реализовать SPF через постфиксное milter?

Заранее спасибо.

ответ

0

OK. Теперь я понимаю проблему лучше. По-видимому, реализация milter, которую я использую, неправильно устанавливает {client_addr}. Я предполагаю, что моя проблема связана с основной реализацией milter, которую я использую (недавняя версия pymilter).

Кроме того, я выяснил, что я могу обойти эту проблему следующим образом: postfix помещает имя хоста и IP-адрес клиента в самый верхний заголовок «Received», который он устанавливает перед отправкой сообщения в milter. Поэтому я могу разобрать этот первый заголовок «Received» в milter, чтобы получить адрес клиента, который мне нужен для SPF.

0

Sendmail/Postfix выполняет обратный вызов, предоставляемый данным milter во время входящей SMTP-сессии. Postfix может отклонить некоторую команду SMTP на основе результатов обратных вызовов.

Postfix before-queue Milter support

Постфикс осуществляет поддержку (почтовый фильтр) протокола Sendmail версии 8 Milter. Этот протокол используется приложениями, которые работают за пределами MTA для проверки SMTP-событий (CONNECT, DISCONNECT), команд SMTP (HELO, MAIL FROM и т. Д.), А также содержимого почты (заголовков и тела). Все это происходит до того, как почта поставлена ​​в очередь.

https://en.wikipedia.org/wiki/Milter

+0

Да, это все часть документации postfix Milter, которую я прочитал, прежде чем публиковать мой первоначальный запрос. Вопрос должен конкретно касаться того, доступен ли IP-адрес отправителя для Miilter, работающего под postfix. IP-адрес, который postfix поставляет в Milter, является адресом процесса SMTPD prefixue, который передает сообщение Milter, а не оригиналу отправителя. IP-адрес исходного отправителя необходим для правильной обработки SPF. Если бы я мог получить IP-адрес отправителя в Milter, это будет достаточно информации для Milter для реализации SPF. – HippoMan

+0

См. {Client_addr} -> http://www.postfix.org/MILTER_README.html. Он содержит IP-адрес удаленного конца SMTP-соединения TCP, обслуживаемого MTA/postfix/sendmail.Во всяком случае, существуют потоковые проверки SPF на основе milter -> http://www.openspf.org/Software – AnFi

Смежные вопросы