You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kiwi-TCMS邮件通知配置报错[Errno 99]无法分配请求地址

KiwiTCMS邮件通知报错[Errno 99]的排查方案
  • 检查容器内SMTP服务器地址配置
    如果你的SMTP服务器部署在本地主机而非公网,不要用localhost或127.0.0.1——容器的localhost指向自身而非宿主机。换成宿主机的内网IP(比如192.168.x.x),或者Docker网桥的网关地址(默认是172.17.0.1),再重新执行测试命令。

  • 同步代理配置到容器
    宿主机的代理配置不会自动传递给Docker容器,需要手动注入代理环境变量:

    1. 编辑KiwiTCMS的docker-compose.yml文件,在kiwi_web服务的environment段添加:
      - HTTP_PROXY=http://你的代理地址:端口
      - HTTPS_PROXY=http://你的代理地址:端口
      - NO_PROXY=localhost,127.0.0.1,宿主机内网IP段
      
    2. 重启容器:sudo docker-compose down && sudo docker-compose up -d
    3. 再次执行测试命令。
  • 验证容器网络连通性
    先进入容器内部测试SMTP服务器的连通性:

    sudo docker exec -it kiwi_web ping 你的SMTP服务器地址
    sudo docker exec -it kiwi_web telnet 你的SMTP服务器地址 端口号
    

    如果ping或telnet失败,说明容器到SMTP服务器的网络不通,排查宿主机防火墙(UFW/iptables)是否允许容器出站连接,或者SMTP服务器是否限制了来源IP。

  • 核对邮件配置参数
    再次检查common.py里的配置项:

    • 确认EMAIL_HOST是正确的SMTP服务器域名/IP,无拼写错误
    • EMAIL_PORT要和加密方式匹配:TLS用587,SSL用465,不要混用
    • EMAIL_USE_TLS和EMAIL_USE_SSL只能二选一,不要同时设为True
    • 确认EMAIL_HOST_USER和EMAIL_HOST_PASSWORD与Windows测试时的凭据完全一致
  • 尝试切换Docker网络模式
    如果上述方法都无效,可将容器网络模式改为host,让容器直接使用宿主机的网络栈:
    在docker-compose.yml的kiwi_web服务里添加:

    network_mode: host
    

    重启容器后再测试,注意这种模式下容器端口会直接占用宿主机端口,需避免端口冲突。

内容的提问来源于stack exchange,提问作者Mijje

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:54:21