nodejs调用SendCloud邮件API2.0

阮星火
2023-12-01

SendCloud作为专业的第三方邮件发送服务提供商,具有高效和稳定的特点,很好地满足平时业务中的相关需求。前一阵在使用时发现原有的邮件API接口升级到2.0了,对于普通发送功能而言,主要的区别在于传递的参数从body参数变成了query参数,由于SendCloud官网还未给出nodejs版本的示例代码,故在此分享,供各位参考。如果需要查看相关文档,请至SendCloud官方文档页

var http = require('http');

var param = {
    apiUser: 'your api user',
    apiKey: 'related api key',
    from: 'service@example.com',
    fromName: '客服测试',
    subject: '测试接口功能',
    to: 'somebody@example.com',
    html: '测试SendCloud邮件API,收到请勿回复,谢谢。'
};

data = require('querystring').stringify(param);
var options = {
    host: "api.sendcloud.net",
    port: 80,
    path: "/apiv2/mail/send",
    method: "POST"
};

options.path = options.path + '?' + data;

var req = http.request(options, function(res) {
    var responseStr = '';
    res.on('data', function (chunk) {
        responseStr += chunk;
    });
    res.on('end', function() {
        console.log(responseStr);
    });
});

req.end();

实际使用时,只需要修改参数param的内容填入对应的值即可。有一个值得注意的地方是,新版的邮件发送功能多了一个设置,在首页 -> 邮件 -> 发送设置页面,有一个From开关的设置,它的意思是“如果开启此开关后,自主填写的From的域名后缀不会生效,将和发信域名的后缀保持一致”。所以如果我们需要使用自主填写的From域名,需要先将这个开关设为OFF状态。但这其实并非SendCloud推荐的做法,如果我们需要用自己的域名来发送,最好还是按照SendCloud相应的流程认证之后再使用比较好。

 类似资料: