Node.js 通过邮枪发送电子邮件

Node.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';

我正在尝试使用nodejs express和mailgun js将mailgun联系人表单添加到我的网站。但不知何故,我无法让它工作。我的api密钥和域都很好,因为我在MailgunJS的官方github页面上用示例代码对它们进行了测试。所以我想知道下面的代码是否有任何错误。(布线和其他一切都能完美工作)

./models/mailer.js

            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进行调试。