排查Cloudflare Pages中Mailchannels插件邮件发送失败问题
排查Cloudflare Pages MailChannels插件邮件发送失败问题
1. 核对Domain Lockdown配置
- 确认MailChannels控制台的Domain Lockdown中,已添加你Cloudflare Pages的自定义域名(若使用默认pages.dev域名则添加对应域名),格式需准确,比如
example.com或*.example.com,不要附带https://或斜杠这类多余内容。 - 检查是否误填了非当前Pages使用的域名。
2. 验证Pages Functions代码
- 确保发送邮件的请求参数符合要求:
from地址必须是Domain Lockdown配置域名下的邮箱(如noreply@example.com),不能使用外部域名邮箱;to、subject、text/html等字段完整无语法错误。 - 用
wrangler dev本地运行Functions代码,模拟发送请求,查看是否有报错信息。
3. 提取Cloudflare日志信息
- 进入Cloudflare控制台的对应Pages项目,点击Functions -> Logs,筛选对应时间范围,查看函数执行时的错误日志(如请求超时、参数错误、权限限制等)。
- 若日志信息不足,在
wrangler.toml中添加log_level = "debug"后重新部署,触发邮件请求后查看更详细的调试日志。
4. 直接测试MailChannels API
- 用curl或Postman直接调用MailChannels API进行测试,使用你配置域名下的
from地址:
若直接调用也失败,根据返回的错误信息定位问题(如域名未验证、IP被拦截等),说明问题出在MailChannels端而非Pages配置。curl -X POST https://api.mailchannels.net/tx/v1/send \ -H "Content-Type: application/json" \ -d '{ "personalizations": [{"to": [{"email": "test-email@your-domain.com"}]}], "from": {"email": "noreply@your-domain.com"}, "subject": "Test Email", "content": [{"type": "text/plain", "value": "Test content"}] }'
5. 检查Cloudflare安全限制
- 确认你的Cloudflare账户未开启拦截邮件请求的WAF规则或速率限制,可临时关闭WAF测试是否能正常发送。
- 查看Pages项目的Security设置,确认无额外安全限制拦截请求。
6. 确认DNS记录配置
- 确保自定义域名已正确绑定Cloudflare Pages,DNS记录为
CNAME指向对应pages.dev域名,且Cloudflare代理状态为橙色云(已代理)。 - 若配置了DKIM签名,检查DNS中是否添加了符合MailChannels要求的DKIM记录。
内容的提问来源于stack exchange,提问作者morja
相关产品推荐
相关产品推荐

