node.js 通过请求模块发送

麦克

我需要发送很多消息。我使用外部 api 和请求模块:

电子邮件.js

var request = require('request');

module.exports = function(subject, email){
    var message = ... ;
    var options = { 
        method: 'POST',
        url: 'https://api.emails.net.com/api/sendmail',
        form: {
            smtp_account: smtp,
            to: {},
            subject: subject,
            html: message,
            from: '[email protected]',
            from_name: 'Myapp'
        },
        headers: {
            'Authorization': ' ... '
        }
    };

    request(options, function (error, response) {
        if (!error && response.statusCode === 200) return true;
        return false;
    });
};

而在另一个地方:

var sendEmail = require('../email');

...

for( ... ){
    if(sendEmail(subject, email)){
        //do something
    }
}

成功后我想做点什么,但要求什么都不返回。有什么方法可以检查帖子是否成功并在我需要电子邮件模块的地方做一些事情?我正在循环发送电子邮件,我必须一一检查。

阿什瓦尼K

你可以做这样的事情

var request = require('request');
var Promise = require('bluebird');

var email = function () {
    return {
        send: function (subject, email) {
            var message = "test";
            var options = {
                method: 'POST',
                url: 'https://api.emails.net.com/api/sendmail',
                form: {
                    smtp_account: "smtp",
                    to: {},
                    subject: subject,
                    html: message,
                    from: '[email protected]',
                    from_name: 'Myapp'
                },
                headers: {
                    'Authorization': ""
                }
            };
            return new Promise(function (resolve, reject) {
                request(options, function (error, response) {

                    if (!error && response.statusCode === 200) {
                        resolve(true);
                    } else {
                        reject(err);
                    }
                });
            })
        }
    }
};

module.exports = email();

然后你可以像下面这样消费

for (var i = 0; i < 10; i++) {
            console.log(i);
    email
        .send("test", "[email protected]")
        .then(function (status) {
            ///Do what ever u want to do
        })
        .catch(function (err) {
            console.log(err);
        });

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node.js请求模块....在主体中发送JSON以使用api请求进行API请求

来自分类Dev

Node.js请求模块....在主体中发送JSON以使用api请求进行API请求

来自分类Dev

通过对象 Function node.js 向 main 发送函数、模块

来自分类Dev

Node.js-带“请求”模块的PUT

来自分类Dev

使用请求模块抓取Node.js

来自分类Dev

使用请求模块的Node.JS代理

来自分类Dev

通过node.js使用Mailgun发送邮件-找不到请求的URL

来自分类Dev

Node.js无法通过axios在get请求中发送oauth v1参数

来自分类Dev

Express Node JS + HTTP 协议:通过请求/响应发送图像

来自分类Dev

加密通过Node.js发送的内容

来自分类Dev

Node js 逐行模块

来自分类Dev

NODE JS取消请求

来自分类Dev

Node.js:如何跨模块发送事件

来自分类Dev

Node.js错误:找不到模块“请求”

来自分类Dev

如何从node.js中的请求模块获取cookie?

来自分类Dev

在Node.js请求模块上设置{“ agent”:false}

来自分类Dev

Node.JS请求模块回调未触发

来自分类Dev

如何在Node.js Lambda中使用请求模块

来自分类Dev

如何从Node.js模块中的请求获取变量

来自分类Dev

Node.js:请求模块是否支持无模式URI?

来自分类Dev

Node.js请求模块获取网站的现代版本

来自分类Dev

Node.js中的模块作用域-同时Express请求

来自分类Dev

如何使用node.js发送Webcal请求?

来自分类Dev

Node.js循环发送HTTP请求

来自分类Dev

Node.js:系统发送两次POST请求

来自分类Dev

如何使用Node.js AWS Lambda发送HTTP请求?

来自分类Dev

Node.js发送外部API POST请求

来自分类Dev

如何从Angular项目发送NODE.JS发布请求?

来自分类Dev

如何使用node.js发送HTTP / 2.0请求

Related 相关文章

热门标签

归档