我想通过 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' }
如果帮助我,我将非常感激。
尝试将“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”出现两次,作为第一个参数,也是第二个参数的域