Koa と Node 0.11 でシンプルなサーバーを構築しています。ユーザーが自分のサイトから問い合わせを送信したときに、メールが送信されるようにします。もちろん、何らかの理由で電子メールの送信に失敗した場合にユーザーに警告したいのですが、それが発生するのを「待つ」最善の方法がわかりません。
関連するサーバー コードは非常に単純です。
app.put('/inquiry', function *() {
var status = yield sendEmail('test', "my message", "me@mysite" );
this.body = status;
});
function sendEmail(subject, message, to) {
var fromEmail = 'you@yoursite.com';
var tags = ['subject'];
var to = {email: to};
return function() {
mandrill('/messages/send',
{
message: {
"from_email":fromEmail,
"to":[to],
"text":message,
"tags":tags
}
},
function (error, response) {
if (error) {
console.log(JSON.stringify(error));
return error;
}
else {
console.log("Mandrill result: "+response);
return response;
}
};
);
};
};
私が抱えている問題は、Mandrill.send() 関数が何も返さないことであり、何をするのが最善なのかわかりません。