2023-05-11 19:54:05 +00:00
|
|
|
const formData = require('form-data')
|
|
|
|
const Mailgun = require('mailgun.js')
|
2022-09-09 11:53:35 +00:00
|
|
|
|
2023-05-11 19:54:05 +00:00
|
|
|
const mailgun = new Mailgun(formData)
|
2022-09-09 11:53:35 +00:00
|
|
|
|
2023-05-12 13:59:40 +00:00
|
|
|
const { MAILGUN_API_KEY } = process.env
|
2023-05-11 19:54:05 +00:00
|
|
|
const mg = mailgun.client({ username: 'discoursio', key: MAILGUN_API_KEY })
|
2023-02-17 09:21:02 +00:00
|
|
|
|
2023-01-30 15:10:27 +00:00
|
|
|
export default async (req, res) => {
|
2023-05-11 19:54:05 +00:00
|
|
|
const { email } = req.body
|
2023-01-30 15:10:27 +00:00
|
|
|
|
|
|
|
try {
|
2023-05-12 14:21:35 +00:00
|
|
|
const response = await mg.lists.members.createMember('welcome@discours.io', {
|
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
|
|
|
}
|