Я настроил postfix, чтобы принудительно использовать TLS. Когда внешний клиент пытается отправить электронное письмо с помощью этого сервера, проблем не возникает. Но при использовании постфикса веб-почты (127.0.0.1) требуется TLS:
delivery temporarily suspended: TLS is required, but was not offered by host 127.0.0.1[127.0.0.1])
Какие изменения мне нужно сделать в master.cf?
smtp_use_tls = yes
smtp_tls_security_level = encrypt
smtpd_use_tls = yes
smtpd_tls_auth_only = yes
smtpd_tls_key_file = /etc/postfix/ssl/xxx.key
smtpd_tls_cert_file = /etc/postfix/ssl/xxx.crt
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache
Ты мог:
smtp_tls_security_level
= may
smtpd_tls_security_level
= may
Это заставит ваш сервер предлагать шифрование TLS клиентам на любом порту прослушивания.smtpd_tls_security_level = encrypt
Это приведет к тому, что ваш сервер потребует шифрование TLS от всех клиентов на любом порту прослушивания.Для интернет-хостов обычно используются и 1, и 2, но вы знаете свои требования лучше, чем я.
Я сомневаюсь, что вы сможете сделать это без запуска второго экземпляра postfix с параметром smtpd_tls_auth_only, установленным на no, а затем изменить программное обеспечение веб-почты, чтобы вместо этого отправлять почту этому экземпляру.
Вы можете подумать о перенастройке веб-почты для использования TLS, если это возможно, или для доставки почты непосредственно локально вместо использования TCP-соединения.
stunnel исправит это. Создает SSL (TLS) соединение с postfix: