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

Docker环境下无需安装SMTP插件实现WordPress对接Mailhog

无插件WordPress对接Mailhog Docker部署方案

你之前的配置报错核心原因是仅配置了PHP调用msmtp,未提供msmtp的目标服务配置,另外PHP的SMTP、smtp_port配置仅对Windows环境生效,Linux环境下不生效,不需要添加。以下两种都是纯Docker自动化配置、无需安装WordPress插件的可行方案:

方案1:补全msmtp配置(系统层配置,无需修改WordPress代码)

该方案完全在镜像构建和PHP配置层面完成,无需修改任何WordPress业务代码:

  • 首先在Docker构建目录下新建msmtprc配置文件,内容如下:
account default
host mailhog
port 1025
from webadmin@localhost
auth off
tls off
  • 修改WordPress服务的Dockerfile,增加msmtp安装和配置复制逻辑:
FROM wordpress:php8.2-fpm
# 安装msmtp客户端
RUN apt-get update && apt-get install -y --no-install-recommends msmtp \
    && rm -rf /var/lib/apt/lists/*
# 复制msmtp全局配置
COPY ./msmtprc /etc/msmtprc
RUN chmod 644 /etc/msmtprc
# 复制PHP邮件配置
COPY ./mail.ini /usr/local/etc/php/conf.d/mail.ini
  • mail.ini仅保留以下配置即可,无需添加其他SMTP相关配置:
sendmail_path = "/usr/bin/msmtp -t"
mail.log = "/var/www/phpmail.log"
  • 确保docker-compose.yml中Mailhog服务的名称为mailhog,与msmtp配置中的host一致,两个服务在同一个Docker网络下即可正常通信。

方案2:注入PHPMailer钩子(无需额外安装系统依赖,镜像体积更小)

该方案直接利用WordPress原生钩子修改PHPMailer配置,不需要安装msmtp,也可以通过Docker脚本自动化注入:

  • 编写自动注入脚本,在WordPress容器启动时自动将配置追加到wp-config.php末尾,示例启动脚本逻辑:
#!/bin/bash
set -e

# 等待WordPress初始化完成后注入Mailhog配置
if [ ! -f /var/www/html/wp-config.php ]; then
    # 等待WordPress官方镜像自动生成wp-config.php
    sleep 10
fi
# 避免重复注入
if ! grep -q "Mailhog SMTP配置" /var/www/html/wp-config.php; then
cat << 'EOF' >> /var/www/html/wp-config.php
// Mailhog SMTP配置
add_action('phpmailer_init', function ($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->SMTPAuth = false;
    $phpmailer->SMTPSecure = '';
    $phpmailer->SMTPAutoTLS = false;
    $phpmailer->Host = 'mailhog';
    $phpmailer->Port = 1025;
    $phpmailer->From = 'webadmin@localhost';
    $phpmailer->FromName = 'Local Dev';
});
EOF
fi

# 执行原有启动命令
exec docker-entrypoint.sh php-fpm
  • 将该脚本设置为WordPress容器的启动入口即可,全程不需要手动修改代码或者安装插件。

两种方案均适用于本地开发场景,全部配置可以通过Docker脚本自动化完成,不需要人工介入操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:45:05