2023-05-11 19:09:17 +00:00
|
|
|
const { formidablePromise } = require('./_shared/formidablePromise')
|
|
|
|
const mailgun = require('mailgun.js')
|
|
|
|
const FormData = require('form-data')
|
|
|
|
|
|
|
|
const { MAILGUN_API_KEY, MAILGUN_DOMAIN } = process.env
|
|
|
|
|
|
|
|
const mg = mailgun.client({ username: 'discoursio', key: MAILGUN_API_KEY })
|
2022-09-09 11:53:35 +00:00
|
|
|
|
2023-05-11 18:34:04 +00:00
|
|
|
export default async function handler(req, res) {
|
|
|
|
const { contact, subject, message } = await formidablePromise(req)
|
2022-09-09 11:53:35 +00:00
|
|
|
|
2023-05-11 18:34:04 +00:00
|
|
|
const text = `${contact}\n\n${message}`
|
2023-02-17 09:21:02 +00:00
|
|
|
|
2023-05-11 19:09:17 +00:00
|
|
|
const form = new FormData()
|
|
|
|
form.append('from', 'Discours Feedback Robot <robot@discours.io>')
|
|
|
|
form.append('to', 'welcome@discours.io')
|
|
|
|
form.append('subject', subject)
|
|
|
|
form.append('text', text)
|
2023-05-11 18:34:04 +00:00
|
|
|
|
2023-05-11 19:09:17 +00:00
|
|
|
try {
|
|
|
|
const response = await mg.messages.create(MAILGUN_DOMAIN, { form })
|
|
|
|
console.log('Email sent successfully!', response)
|
|
|
|
res.status(200).json({ result: 'great success' })
|
|
|
|
} catch (error) {
|
|
|
|
console.log('Error:', error)
|
|
|
|
res.status(400).json(error)
|
|
|
|
}
|
2022-09-09 11:53:35 +00:00
|
|
|
}
|