WordPress 使用 Resend API 发送邮件

在 WordPress 中发送邮件,传统方法通常依赖 PHP mail() 或 SMTP,但这可能存在邮件延迟、投递失败等问题。Resend 提供了简单、稳定的邮件发送 API,让你轻松在 WordPress 中通过 API 方式发送邮件。本文将详细介绍如何实现。

为什么选择 Resend API 而不是 SMTP?

相比 SMTP,API 方式有几个明显优势:

  • 不支持SMTP:我使用的 Digitalocean 就不支持邮件常用 25、465、576 等常见使用发送端口
  • 安全:使用 API Key,无需暴露邮箱密码,避免邮件内容暴露。
  • 更优雅

如果你以前用 SMTP 感觉配置复杂或邮件丢失率高,API 是更现代的选择。

获取 Resend API Key

注册并登录 Resend 官网

登录 Resend 后台以后,点击【Domains】,添加新域名:

不要使用根域名,建议使用一个二级域名,比如类似 mail.abcd.com,这样就不会和你的企业邮箱冲突。

根据你的主要客户区域选择邮件服务的区域(国家),然后点击【Add domain】

添加域名后,会进入到DNS解析记录配置界面,由于我们教程的域名是托管在 Cloudflare 的,所以它提示可以自动配置。如果你们没有看到自动配置的按钮,就需要自己手动去你的域名解析后台,去添加对应的解析记录:

由于每个人的域名注册商都不一样,无法统一告诉你们如何去添加解析记录,有问题可以咨询一下域名注册商。

添加好上面的解析记录后,一般等待几分钟,就可以在 Domains 界面,看到域名的状态变成了绿色的 Verified,说明解析记录生效了。

使用 Resend 服务为 WordPress 网站配置SMTP发送邮件 - Resend 15
Resend 域名解析生效

访问 API Keys 界面,点击【Create API Key】:

使用 Resend 服务为 WordPress 网站配置SMTP发送邮件 - Resend 8
Resend 创建API 密钥

如果你希望你的发件邮箱地址为 smtp@你的域名,可以参考下面的配置去添加:

使用 Resend 服务为 WordPress 网站配置SMTP发送邮件 - Resend 9
Resend 正确配置API密钥的邮箱地址

在上图点击【Add】按钮后,就可以得到 API 密钥,复制保存到本地的文件备用。

使用 Resend 服务为 WordPress 网站配置SMTP发送邮件 - Resend 10
Resend 复制API密钥备用

访问 Settings – SMTP:

使用 Resend 服务为 WordPress 网站配置SMTP发送邮件 - Resend 11
Resend SMTP 信息
上述图片来源 WP大学

WordPress 内置了 wp_remote_post() 方法,如果你熟悉 PHP,可直接使用。如果希望更方便管理,也可以使用 WP Crontrol 或自定义插件来调用 API。

在 WordPress 中使用 Resend API 发送邮件

以下是一个最简单的示例,使用 WordPress 内置函数通过 Resend API 发送邮件:

add_filter('wp_mail', 'resend_api_wp_mail', 10, 1);
function resend_api_wp_mail($atts) {
    $api_key = '你的API';
    $body = [
        'from' => $atts['headers']['From'] ?? '[email protected]',
        'to' => implode(',', (array)$atts['to']),
        'subject' => $atts['subject'],
        'html' => $atts['message']
    ];

    wp_remote_post('https://api.resend.com/emails', [
        'headers' => [
            'Authorization' => 'Bearer ' . $api_key,
            'Content-Type' => 'application/json',
        ],
        'body' => wp_json_encode($body),
        'timeout' => 15,
    ]);

    return true; // 模拟 wp_mail 成功
}

[email protected] 是官方默认发送邮件,切换更换自定义。 上述代码只需更换 API 即可使用。

这样就可以在 WordPress 中直接发送带附件或自定义 HTML 的邮件。

总结

通过 Resend API 在 WordPress 中发送邮件,你可以:

  • 避免 SMTP 配置复杂
  • 提高邮件发送成功率
  • 轻松集成 HTML 邮件和附件

核心就是使用 wp_remote_post() 调用 Resend API,发送邮件简单又可靠。对于想要稳定发送通知邮件、营销邮件的 WordPress 网站来说,API 是比 SMTP 更好的选择。

分享您的喜爱

发表回复

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