documentation
documentation copied to clipboard
node.js samples
Can we get some node.js samples in the docs? And how did golang make it ahead of node?
mailgun-request.js
:
'use strict';
var request = require('request');
request({
url: 'https://api.mailgun.net/v3/example.com/messages'
, method: 'POST'
, auth: { user: 'api', pass: 'key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' }
, formData: {
from: 'Excited User <[email protected]>'
, to: [
'[email protected]'
, '[email protected]'
]
, subject: '[Mailgun Test] Hello'
, text: 'Testing some Mailgun awesomeness!'
, encoding: 'utf-8'
}
}, function (err, response, body) {
var json = JSON.parse(body);
console.log(json);
});
Or, for those that don't want to use request
, which has a boatload of dependencies and features that aren't needed for mailgun (since it is so well-behaved), it can reasonably be done in-the-raw:
mailgun-raw.js
:
'use strict';
var https = require('https');
var FormData = require('form-data');
var options;
var form;
var request;
options = {
host: 'api.mailgun.net'
, port: 443
, method: 'POST'
, auth: 'api:key-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
, path: '/v3/example.com/messages'
};
form = new FormData();
form.append('from', 'Excited User <[email protected]>');
form.append('to', '[email protected]');
form.append('to', '[email protected]');
form.append('subject', '[Mailgun Test] Hello');
form.append('text', 'Testing some Mailgun awesomeness!');
options.headers = form.getHeaders();
request = https.request(options);
form.pipe(request);
request.on('response', function (res) {
console.log(res.statusCode);
var data = '';
res.on('data', function (chunk) {
data += chunk.toString('utf-8');
});
res.on('end', function () {
console.log(data);
});
});