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

使用docker-mailserver发送邮件失败,报错:Error: queue file write error

使用docker-mailserver发送邮件失败,报错:Error: queue file write error

嗨,我来帮你分析这个问题!先理清楚你的场景:你用docker-mailserver的Compose部署方案搭建邮件服务,通过SMTP 587端口+STARTSSL发送邮件时,客户端收到了Error: queue file write error的报错,但从你提供的服务器日志来看,前面的连接建立、TLS握手都正常,SASL认证的流程也已经启动了(日志虽然截断了,但能看出来没在这一步卡壳)。

针对这个报错,我整理了几个常见的排查方向,你可以逐一试试:

  • 检查Postfix队列目录的权限:Postfix需要对队列目录有读写权限才能创建队列文件。你可以进入容器查看/var/spool/postfix的权限配置,确认所属用户是postfix:

    docker exec -it <你的邮件容器名称> ls -ld /var/spool/postfix
    

    如果权限不对,可能是挂载宿主机目录时权限没同步,你可以尝试重启容器,或者手动在容器内调整权限(不过容器重启后可能会重置,最好从Compose配置的卷权限入手)。

  • 排查磁盘空间是否充足:如果宿主机或者容器挂载的磁盘已满,Postfix就无法写入队列文件。你可以分别检查宿主机和容器内的磁盘使用情况:

    • 宿主机执行:df -h
    • 容器内执行:docker exec -it <你的邮件容器名称> df -h
  • 检查安全模块的限制:如果你的宿主机开启了SELinux或者AppArmor,可能会阻止Postfix写入队列目录。你可以临时关闭这些模块测试(注意这只是临时排查,长期运行要配置正确的规则),或者查看相关安全日志是否有拒绝记录。

  • 验证Postfix的队列目录配置:进入容器查看/etc/postfix/main.cf里的queue_directory参数,确认路径指向的是存在且有权限的目录,避免配置错误导致无法写入。

另外,你提供的服务器日志片段我整理在这里,方便后续排查参考:

mailserver_arti  | 2024-07-25T10:16:10.192362+00:00 mail postfix/submission/smtpd[1041]: connect from unknown[172.24.0.1]
mailserver_arti  | 2024-07-25T10:16:10.233814+00:00 mail postfix/submission/smtpd[1041]: Anonymous TLS connection established from unknown[172.24.0.1]: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256
mailserver_arti  | 2024-07-25T10:16:10.267889+00:00 mail postfix/submission/smtpd[1041]: 3FF4539F00000003F745: client=unknown[172.24.0.1], sasl_me...

备注:内容来源于stack exchange,提问作者Raul Lapeira Herrero

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 10:53:07