sendmail не выдает STARTTLS при работе в качестве клиента

sendmail не выдает STARTTLS при работе в качестве клиента

У меня проблемы с ретрансляцией на серверы, которые направляют почту через mimecast. Подключения отклоняются с сообщением:

553 This route requires encryption (TLS) - https://community.mimecast.com/docs/DOC-1369#553

Это заставляет меня думать, что sendmail, который настроен с сертификатами и объявляет STARTTLS, когда действует как сервер, не отправляет STARTLS в нужное время (или вообще не отправляет). Это след неудачной передачи:

>>220 zzz.mimecast.com ESMTP; Thu, 16 Jun 2022 11:55:55 +0200
>>> EHLO rigel-170.orion.it
250-zzz.mimecast.com Hello [212.115.64.170]
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
>>> MAIL From:<[email protected]>
250 Sender OK [R9SDNpJCMqeqqffSnRQQeg.de46]
>>> RCPT To:<[email protected]>
553 This route requires encryption (TLS) - https://community.mimecast.com/docs/DOC-1369#553 [R9SDNpJCMqeqqffSnRQQeg.de46]
>>> DATA
503 Illegal command sequence - https://community.mimecast.com/docs/DOC-1369#503 [R9SDNpJCMqeqqffSnRQQeg.de46]

Я добавлю, что тот же сервер работает как сервер smtps без проблем (что говорит об отсутствии проблем со стороны сертификата) и что отправитель почты регулярно отправляет STARTTLS (я вижу STARTTLS=client в журналах). Однако это единственный =client, который я когда-либо там видел (что говорит о том, что sendmail на самом деле не отправляет STARTTLS, когда действует как клиент для других серверов).

Я пробовал, но безрезультатно, несколько комбинаций SRV_Features, Try_TLS, TLS_Clt, TLS_Srv и TLS_Rcpt. Единственная директива TLS, которую я оставил в карте доступа, это:

Try_TLS: Yes

Я также настроил клиентские сертификаты в sendmail.mc

Понятия не имею, что делать дальше.

РЕДАКТИРОВАТЬ

Я только что узнал следующее (что еще больше запутывает проблему).

Я настроил (из-за проблем с черным списком) имя хоста/адрес, отличные от значений по умолчанию (и адрес, и имя хоста правильно зарегистрированы в DNS). Я сделал это с помощью строк:

CLIENT_OPTIONS(`M=S,Addr=a.b.c.d')dnl
define(`confDOMAIN_NAME', `fubar.it')dnl

Если эти две строки закомментированы, starttls выдается, как и ожидалось (как видно из трассировки сеанса SMTP). Это, похоже, не имеет никакого смысла.

ПРАВКА 2: Согласно комментариям, виновником является часть M=Sв строке CLIENT_OPTIONS (которая была выдрана откуда-то эоны назад). «S» означает «выключить STARTTLS», изменение этого значения M=sделает свое дело. Для справки, вот значение флагов в параметрах демона/клиента по состоянию на sm 14.4:

 ON  OFF     Meaning
 a   A       Offer the AUTH SMTP extension
 b   B       Offer use of the SMTP VERB command
 d   D       Offer the DSN SMTP extension
 e   E       Offer the ETRN SMTP extension
 l   L       Require the client to authenticate with AUTH
 p   P       Offer the PIPELINING SMTP extension
 s   S       Offer the STARTTLS SMTP extension
 v   V       Verify a client certificate
 x   X       Offer use of the SMTP EXPN ...

С наилучшими пожеланиями,

решение1

Насколько я понимаю, Sфлаг CLIENT_OPTIONSотключает STARTTLSподдержку.

CLIENT_OPTIONS(`M=S,Addr=a.b.c.d')dnl

Связанный контент