2022-09-09 11:53:35 +00:00
|
|
|
import MG from 'mailgun.js'
|
2023-01-30 15:10:27 +00:00
|
|
|
import fd from 'form-data'
|
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-01-30 15:10:27 +00:00
|
|
|
export default async (req, res) => {
|
|
|
|
const { email } = req.query
|
|
|
|
const mailgun = new MG(fd)
|
|
|
|
const client = mailgun.client(mgOptions)
|
|
|
|
|
|
|
|
try {
|
|
|
|
const response = await client.lists.members.createMember(mgOptions.domain, {
|
|
|
|
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,
|
|
|
|
message: 'Email added to newsletter list'
|
|
|
|
})
|
|
|
|
} catch (error) {
|
|
|
|
return res.status(400).json({
|
|
|
|
success: false,
|
|
|
|
message: error.message
|
|
|
|
})
|
|
|
|
}
|
2022-09-09 11:53:35 +00:00
|
|
|
}
|