<source>
Строка требует от подающего клиента выполнить STARTTLS прежде любых команд, кроме перечисленных в руководстве: EHLO, QUIT, NOOP, XACK, RSET и самой STARTTLS. Умолчание — false.
Это самая строгая из двух форм требования. Соседняя require-starttls-before-auth требует шифрования только перед паролем; эта — перед всем.
Работает лишь вместе с разрешением. allow-starttls должен стоять в том же источнике, иначе требовать нечего.
Цена — совместимость. Клиент, который не умеет STARTTLS или настроен на открытую подачу, не сможет подать вовсе.
Две формы требования, и они разной строгости:
| Строка | Что требует | Кого теряете |
|---|---|---|
| не задавать (умолчание) | ничего | никого; пароли могут уйти открытым текстом |
| require-starttls-before-auth | шифрование перед паролем | тех, кто шлёт пароль в открытую |
| эта строка | шифрование перед всем | ещё и тех, кто подаёт без авторизации |
Разумный порядок — сначала вторая строка, и только если подача целиком под контролем, третья.
# самая строгая форма — обе строки в источнике, совпавшем по адресу <source 10.0.0.0/24> allow-starttls true require-starttls true</source>
что делают не так и чем это кончается2 ошибки▶
§ 3.3.7.14
наш опыт
1 связь
printf 'EHLO test\r\nMAIL FROM:<a@b.c>\r\nQUIT\r\n' | openssl s_client -connect localhost:25 -quiet 2>/dev/null | head -5
3 статьи
◇Подача по HTTPS на своём приёмнике, по образцу SparkPostОтдельный вход: свой приёмник с сертификатом, свои ключи и зарезервированное имя источника, через которое к такой почте применяются обычные настройки подачи.◇Приёмник объявляет требование шифрования на своём сайтеУзел забирает политику получателя по HTTPS и, если та в режиме принуждения, доставляет только при совпадении MX, шифровании и проверенном сертификате.◇Приёмник объявляет требование шифрования в своей зоне DNSУзел смотрит записи DANE получателя и, если тот требует STARTTLS, отправляет только по зашифрованному каналу с проверенным по отпечатку сертификатом.