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

欧盟区Mailgun.js Node.js基础配置报错401未授权求助

Mailgun API 401 Unauthorized 错误排查方案

问题重现

运行以下Mailgun发送邮件代码:

const mailgun = new Mailgun(FormData);
const mg = mailgun.client({ username: 'api', key: MY_MAILGUN_API, url: 'https://api.eu.mailgun.net'})
mg.messages.create('sandbox-123.mailgun.org', {
      from: "Excited User <mailgun@sandbox-123.mailgun.org>",
      to: ["myrealemail@gmail.com"],
      subject: "Hello",
      text: "Testing some Mailgun awesomness!",
      html: "<h1>Testing some Mailgun awesomness!</h1>"
    })
 .then(msg => console.log(msg)) // logs response data
 .catch(err => console.error(err)); // logs any error

抛出错误:

[Error: Unauthorized] {
  status: 401,
  details: 'Forbidden',
  type: 'MailgunAPIError'
}

排查与解决方法

  • 核对API密钥类型:Mailgun区分API密钥(开头为key-,用于API调用)和SMTP密钥(用于SMTP协议发送)。确保你复制的是「API Keys」页面下的有效API密钥,而非SMTP密钥。
  • 匹配域名与API端点:欧盟区域的账户需使用https://api.eu.mailgun.net,美国区域则用https://api.mailgun.net。确认你的沙箱域名sandbox-123.mailgun.org所属账户的区域与端点一致。
  • 验证收件人权限:免费沙箱域名仅允许发送到已验证的收件人。登录Mailgun后台,在「Authorized Recipients」页面确认myrealemail@gmail.com已添加并完成邮箱验证(点击收件箱中的验证链接)。
  • 清理密钥多余空格:复制API密钥时可能带入前后空格,导致认证失败。可在代码中对密钥做trim()处理,或手动删除空格后重新粘贴。
  • 检查账户状态:确认账户未被限制,完成邮箱验证、必要的信息填写(如部分区域需绑定信用卡)。

内容的提问来源于stack exchange,提问作者Tadas V.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:20:17