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

排查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地址:
    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"}]
    }'
    
    若直接调用也失败,根据返回的错误信息定位问题(如域名未验证、IP被拦截等),说明问题出在MailChannels端而非Pages配置。

5. 检查Cloudflare安全限制

  • 确认你的Cloudflare账户未开启拦截邮件请求的WAF规则或速率限制,可临时关闭WAF测试是否能正常发送。
  • 查看Pages项目的Security设置,确认无额外安全限制拦截请求。

6. 确认DNS记录配置

  • 确保自定义域名已正确绑定Cloudflare Pages,DNS记录为CNAME指向对应pages.dev域名,且Cloudflare代理状态为橙色云(已代理)。
  • 若配置了DKIM签名,检查DNS中是否添加了符合MailChannels要求的DKIM记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 19:17:15