我正在尝试使用Mailgun从Node.js服务器发送电子邮件。
我正在使用免费帐户,并且已将目标电子邮件添加到我的授权收件人列表中并进行了验证。我检查了发送域是否处于活动状态,并且已安装Mailgun并将其添加为依赖项。
这是相关代码:
const api_key = 'XXXXXXXX';
const domain = 'sandboxXXXXXXXX.mailgun.org/messages';
const mailgun = require('mailgun-js');
const mg = mailgun({apiKey: api_key, domain: domain});
const data = {
from: 'Excited User <[email protected]>',
to: '[email protected]',
subject: 'Hello',
text: 'Testing some Mailgun awesomeness!'
};
console.log('start');
mg.messages().send(data, function (error, body) {
console.log('sending email');
if (error) {
console.log(error);
}
console.log(body);
});
console.log('end');
我也尝试过:
const domain = 'sandboxXXXXXXXX.mailgun.org';
我希望“发送电子邮件”以及一些指示电子邮件已排队或发送的消息将记录到控制台。当我运行“ firebase serve”时,实际输出为:
> start
> end
其他所有东西都按预期工作。任何帮助将不胜感激:)
只需在发送功能中添加控制台日志并检查您得到了什么:
在您的代码中:
替换const mg = mailgun({apiKey: api_key, domain: domain});
与
const mg = new mailgun({apiKey: api_key, domain: domain});
完整代码:
var Mailgun = require('mailgun-js');
//Your api key, from Mailgun’s Control Panel
var api_key = 'MAILGUN-API-KEY';
//Your domain, from the Mailgun Control Panel
var domain = 'YOUR-DOMAIN.com';
var mailgun = new Mailgun({apiKey: api_key, domain: domain});
const data = {
from: 'Excited User <[email protected]>',
to: '[email protected]',
subject: 'Hello',
text: 'Testing some Mailgun awesomeness!'
};
mailgun.messages().send(data, function (err, body) {
if (err) {
console.log("got an error: ", err);
}
else {
console.log(body);
}
});