Re: strange

От: Dmitry Valdov <dv_at_mx_ru>
Дата: Fri 04 Jan 2002 - 23:53:42 MSK


Hi!

UPS.. Оказывается вообще идет прямое нарушение стандартов. Сейчас попробовал отправить письмо на домен, у которого есть только NS & SOA записи и больше ничего. Письмо осталось болтаться в очереди. Читаем (RFC2821):
===

3.6 Domains

   Only resolvable, fully-qualified, domain names (FQDNs) are permitted    when domain names are used in SMTP. In other words, names that can    be resolved to MX RRs or A RRs (as discussed in section 5) are    permitted, as are CNAME RRs whose targets can be resolved, in turn,    to MX or A RRs.
===

Т.е., домен без MX или A вообще не домен с точки зрения SMTP. Читаем дальше (RFC974):
===

   Certain responses to the query are considered errors:

      Getting no response to the query.  The domain server the mailer
      queried never sends anything back.  (This is distinct from an
      answer which contains no answers to the query, which is not an
      error).

      Getting a response in which the truncation field of the header is
      set.  (Recall discussion of incomplete queries above).  Mailers
      may not use responses of this type, and should repeat the query
      using virtual circuits instead of datagrams.

      Getting a response in which the response code is non-zero.

   Mailers are expected to do something reasonable in the face of an    error. The behaviour for each type of error is not specified here,    but implementors should note that different types of errors should    probably be treated differently. For example, a response code of    "non-existent domain" should probably cause the message to be    returned to the sender as invalid, while a response code of "server    failure" should probably cause the message to be retried later.

===

Т.е., *четко* прослеживается политика партии. Если мы НЕ СМОГЛИ получить нужную информацию из DNS, то мы повторяем попытки. Если же мы ЧЕТКО получили всю информацию, но она НЕ ДОСТАТОЧНА для пересылки сообщения, то message должно быть rejected.

Выводы:

1. MX & A на домен нет -> reject.
2. MX есть, но на всех на них нет A -> reject.
3. DNS не доступен -> keep trying
4. хост не доступен -> keep trying.

А с вашей политикой мы скоро дойдем до того, что все сообщения будем держать в очереди. Скажем, нет сейчас vasya.ru, а вдруг это просто DNS у нас не обновился, или домен не успели зарегистрировать ;-)

Убедительно?

Покажите, pls, хоть один MTA, кто делает в таких ситуациях аналогично CGP. Dmitry.

On Fri, 4 Jan 2002, Dmitry Valdov wrote:

> Date: Fri, 4 Jan 2002 22:29:40 +0300 (MSK)
> From: Dmitry Valdov <dv@dv.ru>
> To: CGatePro@mx.ru
> Subject: Re: [CGP] Re: strange
> 
> 
> 
> 
> On Fri, 4 Jan 2002, Vladimir A. Butenko wrote:
> 
> > Date: Fri, 04 Jan 2002 10:39:53 -0800
> > From: "Vladimir A. Butenko" <vladimir_butenko@stalker.com>
> > Reply-To: CGatePro@mx.ru
> > To: CGatePro@mx.ru
> > Subject: [CGP] Re: strange
> > 
> > On Fri, 4 Jan 2002 21:22:48 +0300 (MSK)
> >   Dmitry Valdov <dv@dv.ru> wrote:
> > 
> > 
> > 
> > > > А почему должно быть по другому? Домен ведь существует, а то, что где-то
> > > > ошибка (указывает на несуществующую A-запись), так это именно ошибка, и 
> > > > есть шанс, что ее исправят.
> > > 
> > > Хмм. sendmail делает по-другому. 
> > 
> > А Novell Groupwise тоже многое по-другому делает. А X.400 gateway от 
> > Микрософта - по-третьему.
> > 
> > Поведение sendmail-а - не только не образец, но, в очень многих случаях -
> > прямое нарушение опубликованных стандартов.
> 
> Тем не менее, на него многие ориентируются. С этим нельзя не считаться.. 
> 
> > > Это понятно и правильно. Но вот если нету A-записи на хост, на который
> > > указывает MX.. Тут, по идее, отлуп тоже должен идти сразу..
> > 
> > Почему?
> > 
> > >Это больше похоже на фатальную ошибку. 
> > 
> > Именно. Это похоже на ошибку. Потому - это не фатальная для почты ситуация.
> > 
> 
> А где это написано? Я вот пока нашел (правда, не совсем то.. но все же):
> RFC2821:
> ===
>    If MX records
>    are present, but none of them are usable, this situation MUST be
>    reported as an error.
> ===
> 
> Так что на MX not-for-mail мы MUST еррор сгенерить..
> 
> ===
>    If it determines that it should relay the message without rewriting
>    the address, it MUST sort the MX records to determine candidates for
>    delivery.  The records are first ordered by preference, with the
>    lowest-numbered records being most preferred.  The relay host MUST
>    then inspect the list for any of the names or addresses by which it
>    might be known in mail transactions.  If a matching record is found,
>    all records at that preference level and higher-numbered ones MUST be
>    discarded from consideration.  If there are no records left at that
>    point, it is an error condition, and the message MUST be returned as
>    undeliverable.  If records do remain, they SHOULD be tried, best
>    preference first, as described above.
> ===
> 
> ===
>    -  if attempts to deliver the message fail due to transient
>       conditions, retrying delivery some reasonable number of times at
>       intervals as specified in section 4.5.4.
> ===
> 
> А вот определения "transient" я пока не нашел. 
> 
> Dmitry.
> 
> 


##################################################################
Вы получили это сообщение потому, что подписаны на список рассылки   <CGatePro@mx.ru>.
Чтобы отписаться, отправьте сообщение на адрес <CGatePro-off@mx.ru>
Чтобы переключиться в режим дайджеста - mailto:<CGatePro-digest@mx.ru>
Чтобы переключиться в индексный режим - mailto:<CGatePro-index@mx.ru>
Для административных запросов адрес <CGatePro-request@mx.ru> Получено Fri Jan 04 20:53:34 2002

Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:12:27 MSK