Express.js
Send email from Express.js API endpoints.
Setup
bash
npm install mailsetuSend email from a route
javascript
const express = require('express')
const MailSetu = require('mailsetu').default
const app = express()
app.use(express.json())
const client = new MailSetu(process.env.MAILSETU_API_KEY)
app.post('/api/send-otp', async (req, res) => {
const { email, otp } = req.body
try {
const { id } = await client.emails.send({
from: 'App <noreply@yourapp.com>',
to: [email],
subject: `Your OTP is ${otp}`,
html: `<h2>Your one-time password: <strong>${otp}</strong></h2><p>Expires in 10 minutes.</p>`,
})
res.json({ success: true, emailId: id })
} catch (err) {
res.status(400).json({ error: err.message })
}
})