Не секрет, что большинство SMTP не является безопасным.
Проблема с MTA на MX стадии доставки сообщений.
Он использует оппортунистические TLS, который означает, что АПС после отправки его HELO затем - если MTA поддерживает TLS - он будет посылать команду STARTTLS.
Принимающий MX, если он поддерживает TLS будет реагировать с сертификатом.
TLS не требуется, и много серверов MX даже не поддерживают его.
Я написал класс PHP, который классифицирует SMTP-серверов на 4 категории:
1) danetls
2) validtls
3) weaktls
4) insecuretls
Для danetls, определить, если хозяин в адрес находится в зоне DNSSEC защищены. Если это так, я тогда смотрю на MX записей. Если они находятся в зоне DNSSEC защищена, я смотрю на здравую запись TLSA для порта 25. Если он один, то это danetls и связь с этим доменом или будет безопасным или не будет.
Для validtls, если он не имеет защиты от Dane, но реагирует с действительным сертификатом, который соответствует имени хоста и подписывается центром сертификации, которому я доверяю, это validtls. Это все еще тривиально MITM хотя.
Для weaktls, я могу сделать соединение TLS, но сертификат либо самозаверяющий или имя хост не соответствует (общему с компаниями, которые аутсорсинг в Google)
Для insecuretls, я не могу установить соединение TLS. Он может поддерживать TLS, но если это произойдет, это протоколы / шифры слишком старо для меня, чтобы общаться.
Просто запустить тест на около 30 доменов, которые взаимодействуют со мной -
https://deviant.email/tls_functions.php (Выход простой текст, посланный как обычный текст)
Скорее интересно.