node.js - 模块导出功能

标签 node.js function export

我正在尝试导出一个使用 Sendgrid 发送电子邮件的函数。我创建了一个外部文件,在其中创建了此函数。我将数据(用作参数的凭据)放入其他文件中,并且还导入了它。

我没有收到任何错误,但电子邮件根本没有发送。

SEND_MAIL:

    module.exports = {

        'sendMail': function(subject, sender_email, email, link, username, template){    
         var request = sg.emptyRequest();
            request.body = {
                subject: subject,
                from: {
                email: sender_email
                },
                personalizations: [
                    {
                      to: [{                     
                         email:  email
                         }],
                      substitutions: {  
                         '[link]'    :  link, 
                         '[email]'   :  email,
                         '[username]':  username
                      }                   
                    }
                ],
                template_id: template 
            };

        request.method = "POST"; 
        request.path = "/v3/mail/send";    
         return sg.API(request).then(function (response) {
             console.log(response);                   
          }).catch(function(err){console.log(err.response.body.errors);});
   }
};

主文件(我在其中导入函数):

    var config = require('../config/config.json');
    var utils= require('../service/utils');
    var api_key  = config.sendgrid.key;
    var sg = require('sendgrid')(api_key);

    .....


     function( new_user ){

                var template    = utils.new_account_template;
                var sender_email= utils.new_account_email;
                var link        = utils.new_account_link;
                var subject     = utils.new_account_subject;
                var email       = new_user.email;
                var username    = new_user.username;

                var utilemail = require('../service/utilemail')(subject, sender_email, email, link, username, template);
                utilemail.sendMail(subject, sender_email, email, link, username, template);

return res.json( rs.success({ jwt: new_user.getJwt() }) );

    }).catch(function( err ){
        return res.json( rs.errorCode(err.message) );
    });

最佳答案

试试这个:

var sendMail= require('../service/utilemail').sendMail;
sendMail(subject, sender_email, email, link, username, template)
.then(function(){
    return res.json( rs.success({ jwt: new_user.getJwt() }) );
}, function(error){
    return res.json( rs.errorCode(err.message) );
})

关于node.js - 模块导出功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44108801/

相关文章:

javascript - 有没有办法使用 MySQL 函数从 Lat、Lng 获取 POINT 坐标?

javascript - Mongoose 具有相同的保存和更新中间件功能

javascript - 有没有办法在单击时将一个 div 的文本放入另一个 div 中?

ios - Xcode 7 : "No matching provisioning profiles found"

java - 导出带有图像的 Jar

javascript - 如何使用node.js GOT http请求库进行故障排除?

javascript - 在express中正确使用app.set()?

c++ - 来自其他类 C++ 的函数指针

javascript - javascript:将数组传递给函数

qt - 如何从 Qt 导出完成的应用程序?