You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.2 KiB
40 lines
1.2 KiB
const express = require('express');
|
|
const app = express();
|
|
const Mailgun = require('mailgun-js');
|
|
const mailgun = new Mailgun({apiKey: process.env.MAILGUNAPIKEY, domain: process.env.MAILGUNDOMAIN});
|
|
const bodyParser = require('body-parser');
|
|
|
|
app.use(bodyParser.json());
|
|
|
|
app.post('/', function(req, res){
|
|
|
|
var data = {
|
|
//Specify email data
|
|
from: 'matt.huntington@gmail.com',
|
|
//The email to contact
|
|
to: 'matt.huntington@gmail.com',
|
|
//Subject and text data
|
|
subject: 'Hello from Mailgun',
|
|
html: 'Hello, This is not a plain-text email, I wanted to test some spicy Mailgun sauce in NodeJS! <a href="http://0.0.0.0:3030/validate?' + req.params.mail + '">Click here to add your email address to a mailing list</a>'
|
|
}
|
|
|
|
console.log(req.body);
|
|
|
|
mailgun.messages().send(req.body, function (err, body) {
|
|
if (err) {
|
|
res.json({ error : err});
|
|
console.log("got an error: ", err);
|
|
}
|
|
else {
|
|
res.json({
|
|
success:200
|
|
});
|
|
console.log(body);
|
|
}
|
|
});
|
|
});
|
|
|
|
app.listen(process.env.PORT, function(){
|
|
console.log('listening');
|
|
});
|