изпращане на имейл чрез mailgun

Опитвам се да добавя формуляр за контакт с mailgun към моя уебсайт, като използвам nodejs express и mailgun-js. Но някак си не мога да го накарам да работи. Моят API ключ и домейн са добри, тъй като ги тествах с примерния код на официалната страница на mailgun-js в 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: '[email protected]',
              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'});
            });

    };

Благодаря много :)


person Ethan Yang    schedule 15.07.2015    source източник
comment
изглежда добре. какво се чупи   -  person Plato    schedule 15.07.2015
comment
ем... Просто не получих имейла и в предния край не получих съобщението „Вашето съобщение е изпратено успешно“   -  person Ethan Yang    schedule 15.07.2015
comment
Уверихте ли, че вашият домейн е в активно състояние в mailgun. Без него изпращането на имейли няма да е възможно. Опитахте ли да го отстраните, кодът изглежда добре. Отстранете грешки в кода и вижте дали дори достига до последния ред от код   -  person sunitj    schedule 22.07.2015
comment
Използвам домейна на mailgun sandbox и той е активен. Да, опитах се да го отстраня и той стигна до частта mailgun.message().send(). Еми... има ли някакъв добър инструмент за отстраняване на грешки, който мога да използвам? Съжалявам, аз съм доста нов в nodejs и използвах console.log за отстраняване на грешки.   -  person Ethan Yang    schedule 23.07.2015


Отговори (1)


mailgun.message()

Липсва ти "s". Трябва да е mailgun.messages()

person tjay    schedule 26.01.2017