diff --git a/api/feedback.js b/api/feedback.js index c6674259..6ea0c311 100644 --- a/api/feedback.js +++ b/api/feedback.js @@ -1,28 +1,28 @@ -import { formidablePromise } from './_shared/formidablePromise' -const mailgun = require('mailgun-js')({ - apiKey: process.env.MAILGUN_API_KEY, - domain: process.env.MAILGUN_DOMAIN -}) +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 }) export default async function handler(req, res) { const { contact, subject, message } = await formidablePromise(req) const text = `${contact}\n\n${message}` - const data = { - from: 'Discours Feedback Robot ', - to: 'welcome@discours.io', - subject, - text - } + const form = new FormData() + form.append('from', 'Discours Feedback Robot ') + form.append('to', 'welcome@discours.io') + form.append('subject', subject) + form.append('text', text) - mailgun.messages().send(data, (error) => { - if (error) { - console.log('Error:', error) - res.status(400).json(error) - } else { - console.log('Email sent successfully!') - res.status(200) - } - }) + 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) + } }