Назад | Перейти на главную страницу

Что нужно специально видеть sendmail, чтобы определить, поддерживает ли удаленный MTA 8-битный транспорт MIME?

Я устраняю периодически возникающую проблему, при которой некоторые международные символы выглядят искаженными после прохождения через sendmail.

Я недавно наткнулся этот статья, в которой описывается F=7 флаг агента доставки. В частности, в статье упоминается, что

Начиная с V8.7, флаг агента доставки F = 7 может использоваться для подавления определенных видов преобразований MIME. Например, если для параметра EightBitMode (EightBitMode на стр. 1025) установлено значение p (проход 8), и если сообщение содержит 8-битные данные MIME в своем теле, этот флаг агента доставки F = 7 заставит sendmail отклонить сообщение со следующей ошибкой SMTP и завершить работу с EX_DATAERR:

У меня вопрос: что конкретно ищет sendmail, чтобы определить, поддерживает ли нисходящий MTA 8-битный MIME? В ответ на EHLO, нижестоящий сервер рекламирует:

250-PIPELINING
250-SIZE 200000000
250-VRFY
250-STARTTLS
250-ENHANCEDSTATUSCODES
250 8BITMIME

Обратите внимание, что это 250 8BITMIME и нет 250-8BITMIME (с тире). Достаточно ли этого для sendmail, чтобы считать, что удаленный источник не поддерживает 8bitmime?

Обратите внимание, что это 250 8BITMIME, а не 250-8BITMIME (с тире). Достаточно ли этого для sendmail, чтобы считать, что удаленный источник не поддерживает 8bitmime?

Нет. Это называется продолжение и это только означает, что эта строка является последней строкой SMTP-ответа.

И вообще 8BITMIME должно быть единственным, что требуется, чтобы показать, что MTA на другой стороне может обрабатывать 8-битные сообщения. (Это маркер расширения соответствующего RFC6152.)