отправка почты через mailgun

Я пытаюсь добавить контактную форму mailgun на свой сайт, используя nodejs express и mailgun-js. Но почему-то не могу заставить его работать. Мой ключ API и домен в порядке, так как я протестировал их с образцом кода на официальной странице mailgun-js на github. Поэтому мне интересно, есть ли что-то не так со следующими фрагментами кода. (роутинг и все остальное работает отлично)

./модели/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);
                });
            };

./контроллеры/контактCtrl.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, и он активен. Да, я пытался его отладить, и он попал в часть mailgun.message().send(). Эмм... есть ли хороший инструмент отладки, который я могу использовать? Извините, я новичок в nodejs и использовал console.log для отладки.   -  person Ethan Yang    schedule 23.07.2015


Ответы (1)


почтовая пушка.сообщение()

Вам не хватает буквы "с". Это должно быть mailgun.messages()

person tjay    schedule 26.01.2017