Страница 1 из 1

Непонятно по взаимодействию моего MTA с другими

Добавлено: 2010-06-07 12:21:38
tux2002
Настраиваю exim. Смотрю для некоторых сообщений exim -v -M <message_id>. Обычно всё нормально, НО иногда вижу:

Код: Выделить всё

  SMTP>> MAIL FROM:<> SIZE=5767
  SMTP>> RCPT TO:<someaddress>
  SMTP>> DATA
  SMTP<< 250 OK
  SMTP<< 250 Accepted
  SMTP<< 354 Enter message, ending with "." on a line by itself
  SMTP>> writing message and terminating "."
  SMTP<< 550 The message has been rejected by spam filtering engine.
Меня интересует почему идёт подрят три команды на удалённый сервер, а потом три ответа? Ведь должно быть по очереди - интерактивно. И мне не нравится, что хост отказывает после DATA, ведь call back на него проходит, а моё сообщение bounce. Это нормально?

Re: Непонятно по взаимодействию моего MTA с другими

Добавлено: 2010-06-07 14:08:09
dikens3
Ведь должно быть по очереди
про PIPE читайте(не помню точно). Смысл в том, что можно отключить возможность команда-ответ. А включить некие точки проверки. Сам не знаю, помню в доке читал.
Если удалённый сервер оповещает о поддержке PIPELINING, exim использует конвейерное расширение для SMTP (RFC 2197), для уменьшения числа TCP/IP пакетов требуемых для транзакции.
Оба транспорта - “appendfile” и “pipe” могут быть использованы для обработки пакетного SMTP. Каждый обладает опцией, с именем “use_bsmtp”, которая вызывает вывод сообщений в формате BSMTP. Для этой формы доставки невозможны SMTP ответы. Всё что она делает - использует команды SMTP как способ передать конверт вместе с сообщением.
Опция командной строки “-bS” заставляет exim принимать одно или более сообщений путём чтения со стандартного ввода, но не производя никаких ответов. Если
http://www.lissyara.su/doc/exim/4.62/smtp_processing/

Re: Непонятно по взаимодействию моего MTA с другими

Добавлено: 2010-06-07 16:09:05
tux2002
Sapsibo.
Voproc c bounce poka reshatu scriptom.

Код: Выделить всё

#!/bin/sh
exim -bp | grep "<>" | awk '{ print $3 }' | while read message_id
do
  echo " Обработка bounce $message_id"
  exim -v -M $message_id 2>&1 | grep "SMTP error from remote mail server after end of data" | grep  ":\W5.."
  if [ "$?" = "0" ]
  then
     echo "Bounce не может быть дoставлен..удаляем"
     exim -v -Mrm $message_id
  fi
done

Re: Непонятно по взаимодействию моего MTA с другими

Добавлено: 2010-06-12 11:38:38
Гость
Я нашёл временное решение для запрета PIPELINING в exim как SMTP клиенте. Для этого нужно в исходящем рутере поставить например hosts_avoid_esmtp = * - это отключит ESMTP расширения при взаимодействии с удалённым сервером. Решение временное, так как мне хотелось бы отключить только PIPELINING и например оставить TLS. Но пока это видимо нельзя.