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

Docker部署WordPress+WP Mail SMTP插件(默认PHP选项)无法发送邮件,测试邮件报504超时错误

Docker部署WordPress+WP Mail SMTP插件(默认PHP选项)无法发送邮件,测试邮件报504超时错误

嘿,针对你遇到的Docker环境下WordPress邮件发送超时问题,结合你提供的配置文件,我整理了几个关键排查方向和解决方案:

一、先确认ssmtp核心配置是否正确

你Dockerfile里配置了mailhub=smtp-server,但这个是占位符,必须替换成实际可用的SMTP服务器地址+端口,比如:

  • 如果用Gmail:smtp.gmail.com:587
  • 如果用SendGrid:smtp.sendgrid.net:587
  • 如果是自建SMTP:你的服务器IP:25(注意25端口可能被ISP封禁)

同时,若你的SMTP服务器需要认证,还得在/etc/ssmtp/ssmtp.conf里添加以下配置:

AuthUser=你的SMTP用户名
AuthPass=你的SMTP密码(如果是第三方服务可能需要应用专用密码)
UseTLS=YES  # 加密连接,对应587端口;如果用465端口则用UseSSL=YES

你可以修改Dockerfile里的sed命令,把这些配置加上:

RUN sed -ri -e 's/^(mailhub=).*/\1smtp.gmail.com:587/' \
    -e 's/^#(FromLineOverride)/\1/' \
    -e 's/^#(AuthUser)/\1=your-email@gmail.com/' \
    -e 's/^#(AuthPass)/\1=your-app-password/' \
    -e 's/^#(UseTLS)/\1=YES/' /etc/ssmtp/ssmtp.conf

二、确保PHP使用ssmtp作为发送工具

WordPress的PHP-FPM容器默认可能没指定用ssmtp代替系统sendmail,你需要在Dockerfile里添加PHP配置,指定sendmail路径:

# 添加PHP sendmail配置,指向ssmtp
RUN echo 'sendmail_path = "/usr/sbin/ssmtp -t"' >> /usr/local/etc/php/conf.d/sendmail.ini

三、验证容器到SMTP服务器的网络连通性

504超时很大概率是容器无法访问SMTP服务器,你可以进入WordPress容器测试:

  1. 进入容器:docker exec -it 你的wordpress容器名 /bin/bash
  2. 测试端口连通性:telnet smtp.gmail.com 587(如果返回Connected则网络正常,否则检查防火墙、Docker网络配置)
  3. 用ssmtp直接发测试邮件:echo -e "To: test@example.com\nFrom: your-email@gmail.com\nSubject: Test Email\n\nThis is a test from ssmtp" | ssmtp test@example.com

如果这步失败,说明是系统级的邮件配置或网络问题,和WP Mail SMTP插件无关。

四、检查WP Mail SMTP插件的设置与日志

  1. 插件里选择“默认PHP”选项后,确保发件人邮箱和你ssmtp配置里的From地址一致;
  2. 开启插件的调试日志:进入WP后台 → WP Mail SMTP → 设置 → 邮件 → 调试,勾选“保存调试日志”,然后再发测试邮件,查看日志里的具体错误信息(比如认证失败、连接超时等);
  3. 避免用localhost作为SMTP服务器,因为容器里的localhost是容器自身,不是宿主机。

五、其他可能的问题

  • 检查宿主机的防火墙/安全组是否允许容器访问SMTP服务器的端口(比如587、465);
  • 若用第三方SMTP服务,确认你的账号没有被限制发送邮件(比如Gmail需要开启低安全性应用或用应用专用密码);
  • 确保容器的时间和SMTP服务器时间同步,避免因时间差导致的认证失败。

备注:内容来源于stack exchange,提问作者jotyhista

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 11:24:35