NextJs SMTP Integration Guide
Guide to integrate Mailazy with your NextJs system
Prerequisites
You need to complete these given prerequisites, you can skip the step if you have already completed.
- Sign up for a Mailazy account.
- Complete Domain Authentication.
- Generate the Mailazy Access Key
Integrate Mailazy with NextJs
npx create-next-app
<div className={styles.container}>
< form className={styles.main} >
< formGroup className={styles.inputGroup} >
< label htmlFor='name'>Name</label>
< input type='text' onChange={(e)=>{setName(e.target.value)}} name='name' className={styles.inputField} />
</formGroup>
< formGroup className={styles.inputGroup} >
< label htmlFor='email'>Email</label>
< input type='text' onChange={(e)=>{setEmail(e.target.value)}} name='email’' className={styles.inputField} />
</formGroup>
< formGroup className={styles.inputGroup} >
< label htmlFor='message'>Message</label>
< input type='text' onChange={(e)=>{setMessage(e.target.value)}} name='message' className={styles.inputField} />
</formGroup>
< input type='submit' onChange={(e)=>{setSubmitted(e.target.value)}}/>
</form >
</div>
.inputGroup {
height: 50%;
width: 200%;
display: flex;
flex-direction: column;
margin: 10px 0;
}
.inputLabel {
text-align: left;
}
.inputField {
height: 30px;
}
export default function (req, res) {
require('dotenv').config()
let nodemailer = require('nodemailer')
const transporter = nodemailer.createTransport({
port: 587,
host: "smtp.mailazy.com",
auth: {
user: process.env.mailazy_apikey,
pass: process.env.mailazy_secret,
},
secure: false,
})
const mailData = {
from: 'demo email',
to: 'your email',
subject: `Message From ${req.body.name}`,
text: req.body.message + " | Sent from: " + req.body.email,
html: `<div>${req.body.message}</div><p>Sent from:
${req.body.email}</p>`
}
transporter.sendMail(mailData, function (err, info) {
if(err)
console.log(err)
else
console.log(info)
})
res.status(200)
}