Node.js 通过邮枪发送电子邮件
我正在尝试使用nodejs express和mailgun js将mailgun联系人表单添加到我的网站。但不知何故,我无法让它工作。我的api密钥和域都很好,因为我在MailgunJS的官方github页面上用示例代码对它们进行了测试。所以我想知道下面的代码是否有任何错误。(布线和其他一切都能完美工作) ./models/mailer.jsNode.js 通过邮枪发送电子邮件,node.js,express,mailgun,Node.js,Express,Mailgun,我正在尝试使用nodejs express和mailgun js将mailgun联系人表单添加到我的网站。但不知何故,我无法让它工作。我的api密钥和域都很好,因为我在MailgunJS的官方github页面上用示例代码对它们进行了测试。所以我想知道下面的代码是否有任何错误。(布线和其他一切都能完美工作) ./models/mailer.js var api_key = 'xxxxxxx'; var domain = 'xxxxxxxx';
var api_key = 'xxxxxxx';
var domain = 'xxxxxxxx';
var Mailgun = require('mailgun-js');
exports.sendOne = function (locals,callback) {
console.log(locals);
var mailgun = new Mailgun({apiKey: api_key,domain:domain});
var data = {
from: 'xxxxxx',
to: 'myemail@hotmail.com',
subject: 'Hello World',
text: 'Testing some Mailgun awesomness!'
};
mailgun.message().send(data,function (err,body) {
if(err) return callback(err);
console.log('message sent');
callback(null,body);
});
};
./controllers/contactCtrl.js
var mailer = require('../models/mailer');
exports.contact = function (req,res,next) {
res.render('contact');
};
exports.receiveMessage = function (req,res,next) {
mailer.sendOne(req.body,function (err,body) {
if(err) return next(err);
console.log(body);
res.send({message:'Your message has been successfully sent'});
});
};
非常感谢:)mailgun.message()
你错过了一个“s”。应该是mailgun.messages()看起来不错。我只是没有收到电子邮件,在前端我没有收到“您的邮件已成功发送”的消息。您是否已验证您的域在mailgun处于活动状态。没有它,就不可能发送邮件。如果你试着调试它,代码看起来还可以。调试代码,看看它是否达到了代码的最后一行。我正在使用mailgun沙盒域,它是活动的。是的,我试过调试它,它确实到达了mailgun.message().send()部分。嗯…有什么好的调试工具我可以用吗?很抱歉,我对nodejs很陌生,我一直在使用console.log进行调试。