Mailgun 使用 Node.js 和 mailgun.js 包出现未经授权的错误

问题描述 投票:0回答:1

我想通过 Node.js 使用 Mailgun,并遵循 mailgun 网站提供的确切代码:

const formData = require('form-data');
  const Mailgun = require('mailgun.js');
  const mailgun = new Mailgun(formData);
  const mg = mailgun.client({username: 'api', key: process.env.MAILGUN_API_KEY || 'key-yourkeyhere'});
  
  mg.messages.create('sandbox-123.mailgun.org', {
    from: "Excited User <[email protected]>",
    to: ["[email protected]"],
    subject: "Hello",
    text: "Testing some Mailgun awesomeness!",
    html: "<h1>Testing some Mailgun awesomeness!</h1>"
  })
  .then(msg => console.log(msg)) // logs response data
  .catch(err => console.log(err)); // logs any error

我正在使用 [电子邮件受保护] 包。我在 Mailgun 中创建了一个免费帐户,并通过 API“安全 -> 添加新密钥”创建了一个密钥。我使用该密钥而不是

process.env.MAILGUN_API_KEY || 'key-yourkeyhere'
,并使用经过验证的电子邮件而不是
[email protected]
。 我还使用了public_key。我也使用了 Sandbox Sending Key ,但每次都会收到错误:
[Error: Unauthorized] { status: 401, details: 'Forbidden', type: 'MailgunAPIError' }
如果帮助我,我将非常感激。

node.js mailgun
1个回答
0
投票

尝试将“sandbox-123.mailgun.org”更改为“sandbox8dcd8ea3cce6409487a1093460a9d27a.mailgun.org”。 这对我有用。

参见示例此处

mg.messages.create('sandbox-123.mailgun.org', {
    from: "Excited User <[email protected]>",
    to: ["[email protected]"],
    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 

在代码示例中,“sandbox-123.mailgun.org”出现两次,作为第一个参数,也是第二个参数的域

© www.soinside.com 2019 - 2024. All rights reserved.