1

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() 関数が何も返さないことであり、何をするのが最善なのかわかりません。

4

1 に答える 1