webapp/api/newsletter.js

35 lines
771 B
JavaScript
Raw Normal View History

2023-01-31 18:07:39 +00:00
const MG = require('mailgun.js')
const fd = require('form-data')
2023-02-17 09:21:02 +00:00
const mailgun = new MG(fd)
2022-09-09 11:53:35 +00:00
2023-01-30 15:10:27 +00:00
const mgOptions = {
key: process.env.MAILGUN_API_KEY,
domain: process.env.MAILGUN_DOMAIN,
username: 'discoursio' // FIXME
2022-09-09 11:53:35 +00:00
}
2023-02-17 09:21:02 +00:00
const client = mailgun.client(mgOptions)
2023-01-30 15:10:27 +00:00
export default async (req, res) => {
const { email } = req.query
try {
2023-02-17 09:21:02 +00:00
const response = await client.lists.members.createMember(mgOptions.domain, {
2023-01-30 15:10:27 +00:00
address: email,
subscribed: true,
upsert: 'yes'
})
2022-09-09 11:53:35 +00:00
2023-01-30 15:10:27 +00:00
return res.status(200).json({
success: true,
2023-02-17 09:21:02 +00:00
message: 'Email was added to newsletter list',
response: JSON.stringify(response)
2023-01-30 15:10:27 +00:00
})
} catch (error) {
return res.status(400).json({
success: false,
message: error.message
})
}
2022-09-09 11:53:35 +00:00
}