Я пытаюсь добавить форму контакта mailgun на свой сайт с помощью nodejs express и mailgun-js. Но почему-то я не могу заставить его работать. Мой ключ и домен api хороши, так как я тестировал их с образцом кода на официальной странице github mailgun-js. Поэтому мне интересно, есть ли что-то неправильное в следующих частях кода. (Маршрутизация и все остальное работает отлично)отправка электронной почты через mailgun
./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'});
});
};
Спасибо много :)
выглядит хорошо. что ломается – Plato
em .... Я просто не получил электронную почту, а на лицевой стороне я не получил сообщение «Ваше сообщение успешно отправлено» –
Вы подтвердили, что ваш домен находится в активном состоянии в mailgun. Без него отправка писем будет невозможна. Удалили ли вы его отладить, код выглядит нормально. Отладить код и посмотреть, не достигает ли он его до последней строки кода – sunitj