Текущие практики использования STARTTLS для взаимодействия между серверами следующие: - Если и клиент, и сервер поддерживают MTA-STS или DANE, следуйте спецификации MTA-STS или DANE. В таком случае использование TLS обязательно, и сертификат проверяется на валидность. - В противном случае, если сервер поддерживает STARTTLS, клиент не проверяет валидность сертификата (даже самоподписанный сертификат может быть использован). - Если возникает сбой в протоколе STARTTLS, письмо будет отправлено в открытом тексте. - Для получения статистики использования STARTTLS можно использовать TLS-RPT. Почему не проверяется сертификат сервера: - В случае пассивного MitM (когда только слушается трафик), не важно, какой сертификат использует сервер. - В случае активного MitM атакующий может изменить MX записи, перенаправив трафик на другой сервер и/или использовать свой собственный сертификат. Поэтому проверка сертификата не предотвращает атаки без дополнительных мер (MTA-STS и DANE). Если вы не используете MTA-STS и DANE, вам следует: - Отключить проверку сертификата в конфигурации вашего сервера. - Разрешить отправку писем в открытом тексте, если STARTTLS недоступен. - Если необходимо обеспечить доставку писем по TLS для определенных доменов, настройте MTA-STS, DANE или отдельные транспорты с жесткой конфигурацией имени MX сервера для каждого домена и включите TLS и проверку сертификата для этих транспортов. В противном случае, слишком строгое требование к TLS может причинить вам больше проблем, чем пользы.