在某些情况下,我想使用我的api发送电子邮件,服务(infobip)文档在JS中显示了一个示例,但在我的nodejs和expressjs的api中不起作用。有人可以帮我吗?
/*----Sending fully featured email----*/
function createFormData(data) {
var formData = new FormData();
for (var key in data) {
formData.append(key, data[key]);
}
return formData;
}
//Dummy File Object
var file = new File([""], "filename");
var data = {
'from': 'Sender Name <from@example.com>',
'to': 'recipient1@example.com',
'subject': 'Test Subject',
'html': '<h1>Html body</h1><p>Rich HTML message body.</p>',
'text': 'Sample Email Body',
'attachment': file,
'intermediateReport': 'true',
'notifyUrl': 'https://www.example.com/email/advanced'
};
var xhr = new XMLHttpRequest();
xhr.withCredentials = false;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('POST', 'https://{base_url}.infobip.com/email/1/send', false);
xhr.setRequestHeader('authorization', 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==');
xhr.setRequestHeader('accept', 'application/json');
xhr.send(createFormData(data));
答案 0 :(得分:0)
您应该使用来自nodejs的https。
这里是一个入门示例代码。对于infopib,这似乎是正常的Post请求。
我试图在此页面上创建一个帐户,但是注册似乎只能通过销售完成。所以我无法提供一个有效的例子...
这就是为什么我只能提供一个通用示例,说明如何进行https POST调用,这应该是开发解决方案的良好起点:
return products