UniFi控制器无法向Postfix SMTP中继发送邮件通知问题求助
故障修复方案
根因说明
当前Postfix配置强制启用了入站TLS加密,但配置中指向的SSL证书、密钥文件实际未创建,UniFi控制器校验到无效/未知证书后直接中断连接,导致邮件发送失败。
方案一:关闭入站TLS(适配无需SSL证书的需求)
该方案适合内网环境下使用,无需配置证书即可正常收发:
- 编辑Postfix主配置文件
/etc/postfix/main.cf,修改如下配置:- 将
smtpd_use_tls = yes改为smtpd_use_tls = no - 注释或删除以下TLS相关配置项:
smtpd_tls_auth_only = yes smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd_tls_loglevel = 1 smtpd_tls_protocols = !SSLv2, !SSLv3 smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_tls_session_cache
- 将
- 执行命令重载Postfix配置使其生效:
postfix reload - 进入UniFi控制器邮件配置界面,将SMTP加密方式设置为无,端口使用默认25,重新发送测试邮件即可验证连通性。
方案二:保留TLS加密(无需CA签发证书)
如果需要保留传输加密,可生成自签证书完成配置:
- 执行OpenSSL命令生成自签证书和对应密钥:
生成过程中Common Name字段填写Postfix服务器的hostnameopenssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/ssl-cert-snakeoil.key -out /etc/ssl/certs/ssl-cert-snakeoil.pemV1.test.com,其余字段可按需填写。 - 执行命令重载Postfix配置:
postfix reload - 进入UniFi控制器邮件配置界面,勾选跳过SSL证书验证选项(如无该选项可将生成的自签证书导入UniFi的系统信任证书库),重新发送测试邮件即可。
内容的提问来源于stack exchange,提问作者linux01
相关产品推荐
相关产品推荐

