在 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,说明解析记录生效了。

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

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

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

访问 Settings – SMTP:


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 更好的选择。



