LINUX.ORG.RU

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

Можно через мильтер. Поиспользовать внешний фильтр, в котором это можно сделать, например, mailfromd. Одно письмо дропается, другое формируется.

AS ★★★★★
()
Ответ на: комментарий от MumiyTroll

лишь бы не использовать приличный MTA…

Нет ничего круче, чем Sendmail + Mailfromd. Где-то близко Postfix, но он не умеет весь API Milter. ;-) То есть, крут Mailfromd, а хороший MTA - это тот, кто с ним может работать.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от MumiyTroll

Посмотрите ещё на exim.

Он Milter не знает, а конфиг mailfromd - практически bash по возможностям. Можно делать любые варианты проверок, действия на любой вкус. То есть, вообще любые, и в какой угодно момент. В какой-то момент принять решение о применении spamassassin, clamav и т.п. На основании результата проверки SPF можно почесать левой пяткой правое ухо. Я абсолютно уверен, что Exim не может большего (это невозможно :-) ) и сомневаюсь, что может столько же.

AS ★★★★★
()
Ответ на: комментарий от AS

Я абсолютно уверен, что Exim не может большего (это невозможно :-) )

Поверьте, Вы ошибаетесь.

Я неоднократно видел упоминание milter, но даже не знаю, что это такое и первый раз вижу упоминание mailfromd, однако уже больше 10 лет у меня exim фильтрует спам в разных инсталяциях вплоть до провайдерского уровня. Всегда хватало встроенных возможностей.

У exim'а очень мощный механизм ACL, который может сделать с письмом ВСЁ, и даже «На основании результата проверки SPF можно почесать левой пяткой правое ухо» и ближайшая инсталяция exim'а примерно это и делает. В том числе.

Кроме того, если Вам кажется, что встроенных возможностей exim Вам недостаточно, Вы можете использовать внешние фильтры или даже встроенный perl.

MumiyTroll ★★★
()
Ответ на: комментарий от MumiyTroll

Поверьте, Вы ошибаетесь.

Ни в коем случае: невозможно сделать больше, чем «всё». Можно только столько же, или меньше. ;-)

Кроме того, если Вам кажется, что встроенных возможностей exim Вам недостаточно

А зачем мне это, если у меня уже есть инструмент, который может всё ? Но мне его предлагают поменять на какой-то непонятный «приличный MTA». Зачем мне это ? Зачем изучать Exim, зачем разбираться с форматом его логов, изучать типичные ситуации в работе и т.п. ?

Просто как вариант задачи: грейлистниг в ответ на data включить можно ? А не как обычно, на mail from ?

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

грейлистниг в ответ на data включить можно ? А не как обычно, на mail from ?

Запросто. Причём реализуется внутренними средствами.

MumiyTroll ★★★
()
Ответ на: комментарий от AS

А зачем мне это, если у меня уже есть инструмент, который может всё ? Но мне его предлагают поменять на какой-то непонятный «приличный MTA». Зачем мне это ? Зачем изучать Exim, зачем разбираться с форматом его логов, изучать типичные ситуации в работе и т.п. ?

Ну хотя бы для того, чтобы решить поставленную в этом топике задачу ;-)

Впрочем я не настаиваю. Но рекомендую.

Формат логов очень наглядный и понятный без дополнительного изучения (пара примеров):

2014-09-22 17:06:52 1XW3KO-0008A8-EO <= user@domain.tld H=(webmail.domain.tld) [::1] P=esmtpa A=PLAIN:user S=35175 id=43676cf0965125f6c88f2be527be31e5@domain.tld
2014-09-22 17:06:52 1XW3KO-0008A8-EO => other-user@other-domain.tld<other-user@other-domain.tld> R=dnslookup_and_batv T=remote_smtp_and_batv H=mx-of.other-domain.tld [11.22.33.44] C="250 2.0.0 Ok: queued as E94153C6F3"
2014-09-22 17:06:52 1XW3KO-0008A8-EO Completed

2014-09-22 17:07:52 H=(static.cmcti.vn) [101.99.4.185] F=<parsimonyhfc40@gmail.com> rejected RCPT <user@domain.tld>: Go away, ugly spammer!

H — HELO/EHLO или хост в зависимости от контекста, P — протокол ESMTP Secure Authorized, А — авторизация, S — size, R — router, T — transport.

Явки/пароли, конечно, засекречены.

А документация у exim — почти шедевр и в частности включает разделы «46. Message processing» и «47. SMTP processing» с подробным описанием действий по обработке почты.

MumiyTroll ★★★
()
Ответ на: комментарий от MumiyTroll

О! Даже нашёл в текущем конфиге почти Ваш случай:

testuser:
  driver    = redirect
  domains   = +our_domains
  local_part_prefix = test_
  data      = test@domain.tld

В тестовых целях используются адреса вида test_всякаяхрень@domain.tld. +our_domains — список «своих» доменов, т.е. адресом может быть test_всякаяхрень@… в любом из «своих» доменов.

Вместо условий domains и local_part_prefix может быть условие на конкретный адрес. Или даже может быть поиск во внешних источниках (файл/БД), если адресов несколько.

Упс… Вы же хотите условие по адресу отправителя, а не получателя — их есть у меня! Это условие senders.

MumiyTroll ★★★
()
Последнее исправление: MumiyTroll (всего исправлений: 3)
Ответ на: комментарий от MumiyTroll

Ну хотя бы для того, чтобы решить поставленную в этом топике задачу ;-)

В топике Sendmail, и задача легко решается без замены MTA. :-)

AS ★★★★★
()
Ответ на: комментарий от MumiyTroll

Вы же хотите условие по адресу отправителя, а не получателя

Нет, я про другое.

Получаю mail from:<нечто>
отдаю ok
получаю rcpt to:<нечто>
отдаю ok
Получаю DATA
отдаю tempfail

В этом случае, если кто-то делает smtp callback, он не упирается в мой грейлистинг.

AS ★★★★★
()
Ответ на: комментарий от AS

Как Вы на ходу задачи меняете!

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

Тем не менее, про грейлистинг после DATA я ответил:

Запросто. Причём реализуется внутренними средствами.

MumiyTroll ★★★
()
Ответ на: комментарий от AS

В топике Sendmail, и задача легко решается без замены MTA. :-)

Вы лукавите. Если бы это было действительно просто, мы бы с Вами здесь не общались.

MumiyTroll ★★★
()
Ответ на: комментарий от MumiyTroll

Как Вы на ходу задачи меняете !

Я не меняю, я просто спросил. Спор же вышел за рамки задачи ТС и просто задал вопрос, который, на сколько я в курсе, у большинства вызывает сложности.

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

Это - не моя задача. :-)

Запросто. Причём реализуется внутренними средствами.

Ну ладно.

Если бы это было действительно просто, мы бы с Вами здесь не общались.

ТС не знает способ решения. Я подсказал - Mailfromd с соответствующей настройкой конфига, при том, что MTA не меняется.

AS ★★★★★
()
Ответ на: комментарий от MumiyTroll

Вы же хотите условие по адресу отправителя

А, или это не мне, а TC ? Кстати, что будет, если новый получатель окажется недостижим ? Отправитель получит странный боунс про проблему с адресом, о котором он не знает ?

AS ★★★★★
()
Ответ на: комментарий от AS

Это - не моя задача. :-)

Ой. Я не обратил внимание, что это не Вы ТС.

Кстати, что будет, если новый получатель окажется недостижим ? Отправитель получит странный боунс про проблему с адресом, о котором он не знает ?

А вот это вопрос. Не знаю… Вероятно ответ зависит от причины, почему новый получатель недостижим. Точнее не скажу, а проверять лениво.

MumiyTroll ★★★
()
Ответ на: комментарий от AS

Да, прикольно было рулить письмами через милтер. Я использовал mimedefang с clamav и spamassassin + свои проверки + вырезание больших аттачей (и заменой их на УРЛ), где они хранились.

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.