博客 / WordPress 教程建站

如何处理本地MacOS部署的WordPress测试发送邮件问题

本地 MacOS 开发环境默认 不会发送邮件,因为没有正确配置邮件服务器。但是我们可以尝试以下方案:

✅ 方案 1:使用 WP Mail SMTP 插件(推荐)

  1. 安装插件
    • 在 WordPress 后台,进入 插件 → 安装插件
    • 搜索 WP Mail SMTP
    • 点击 安装启用
  2. 设置 SMTP
    • 进入 WP Mail SMTP → 设置
    • 选择 Gmail 或其他 SMTP 服务器(如 Mailgun、SendGrid)
    • 填写 Gmail SMTP 服务器信息
    • 启用 OAuth 认证
    • 测试发送邮件

✅ 方案 2:使用 mailhog(仅适用于本地开发)

MacOS 本地环境默认 不会发送邮件,可以使用 MailHog 来捕获本地邮件。

安装 MailHog

brew install mailhog

运行 MailHog

mailhog

然后打开浏览器访问 http://localhost:8025/,就能看到 WordPress 发送的邮件。

在 WordPress wp-config.php 添加

define('WP_MAIL_SMTP_HOST', 'localhost');
define('WP_MAIL_SMTP_PORT', 1025);

这样 wp_mail() 发送的邮件就会被 MailHog 捕获。

✅ 方案 3:直接在 PHP 中使用 SMTP

如果你不想安装插件,也不想使用 MailHog,可以在 functions.php 里手动配置 wp_mail() 发送邮件时使用 SMTP:

add_action('phpmailer_init', function($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host = 'smtp.gmail.com';
    $phpmailer->SMTPAuth = true;
    $phpmailer->Username = 'your-email@gmail.com'; // 你的 Gmail 地址
    $phpmailer->Password = 'your-app-password'; // Gmail 需要 App Password
    $phpmailer->SMTPSecure = 'tls';
    $phpmailer->Port = 587;
});

🔹 注意:Gmail 需要开启 “允许不安全应用” 或使用 App Password 才能发送邮件。

🚀 结论

  • 推荐使用 WP Mail SMTP 插件,配置 SMTP 服务器,一劳永逸。
  • 如果只是本地测试,用 MailHog 直接拦截邮件最简单。
  • 如果不想装插件,可以用 phpmailer_init 手动配置 SMTP。

这样,你的 WordPress 本地开发环境就能正常发送邮件了!🎯🚀

One thought on “如何处理本地MacOS部署的WordPress测试发送邮件问题

  1. 如果你已经配置了 Mailhog 并且可以访问 http://localhost:8025/#,但是 Mailhog 没有捕获到 WordPress 发送的邮件,那么可能有以下原因:

    1. Mailhog 配置错误: 确保你已经正确配置了 Mailhog。检查 Mailhog 的配置文件(通常位于 ~/.mailhog.conf)是否正确。
    2. WordPress 邮件设置错误: 确保你已经正确配置了 WordPress 的邮件设置。检查 WordPress 的 wp-config.php 文件是否包含以下代码:

    define(‘MAIL_HOST’, ‘localhost’);
    define(‘MAIL_PORT’, 1025);

    3. Mailhog 服务器没有启动: 确保 Mailhog 服务器已经启动。你可以使用以下命令启动 Mailhog 服务器:

    mailhog

    4. WordPress 使用了其他邮件服务器: 确保 WordPress 没有使用其他邮件服务器。检查 WordPress 的 wp-config.php 文件是否包含其他邮件服务器的配置。
    5. Mailhog 的捕获模式: 确保 Mailhog 的捕获模式正确。检查 Mailhog 的配置文件是否包含以下代码:

    capture:
    mode: “all”

评论留言

您的邮箱地址不会被公开。 必填项已用 * 标注