Skip to content

Instantly share code, notes, and snippets.

@tosipaulo
Last active September 22, 2018 14:21
Show Gist options
  • Save tosipaulo/774aef122efd04c6e191fdab4fb45579 to your computer and use it in GitHub Desktop.
Save tosipaulo/774aef122efd04c6e191fdab4fb45579 to your computer and use it in GitHub Desktop.
nodemailer
require('dotenv').load();
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const nodemailer = require('nodemailer');
const hbs = require('nodemailer-express-handlebars');
const app = express();
const port = process.env.PORT || 4000;
const uri = process.env.SMTP;
const transporter = nodemailer.createTransport(uri);
transporter.use('compile', hbs({
viewPath: "views",
extName: ".hbs"
}))
const mailOptions = {
from: 'BUUUU 👻 <tosi.paulo@gmail.com>',
to: 'tosi.paulo@gmail.com',
subject: 'BUUUU 👻',
template: 'main'
}
app.use(bodyParser.urlencoded({ extended: false }))
app.use(cors());
app.get('/', (req, res) => {
res.status(200).json({msg: 'ok'})
})
app.post('/email', (req, res) => {
const { nome, telefone, email } = req.body
const mensagem = { ...mailOptions, ...{context: {nome, telefone, email}}}
transporter.sendMail(mensagem, (error, info) => {
if (error) {
return console.log(error);
}
console.log('Message sent: ' + info.response);
})
res.status(200).json({ mensagem: "E-mail enviado com sucesso" })
})
app.listen(port, () => {
console.log('running ' + port)
})
Olá {{nome}} telefone {{telefone}} e email {{email}}
{
"name": "nodemailer",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"body-parser": "^1.18.3",
"cors": "^2.8.4",
"dotenv": "^6.0.0",
"express": "^4.16.3",
"nodemailer": "^4.6.8",
"nodemailer-express-handlebars": "^3.0.0"
},
"devDependencies": {},
"scripts": {
"start": "node index.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "Paulo Tosi <tosi.paulo@gmail.com> (http://www.paulotosi.com.br/)",
"license": "MIT"
}
web: node index.js
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment