This commit is contained in:
Untone 2024-06-25 17:32:32 +03:00
parent 1f326c7611
commit 71e38d233a
2 changed files with 55 additions and 0 deletions

27
api/feedback.js Normal file
View File

@ -0,0 +1,27 @@
import FormData from 'form-data'
import Mailgun from 'mailgun.js'
const mailgun = new Mailgun(FormData)
const mg = mailgun.client({ username: 'discoursio', key: process.env.MAILGUN_API_KEY })
export default async function handler(req, res) {
const { contact, subject, message } = req.body
const text = `${contact}\n\n${message}`
const data = {
from: 'Discours Feedback Robot <robot@discours.io>',
to: 'welcome@discours.io',
subject,
text,
}
try {
const response = await mg.messages.create('discours.io', data)
console.log('Email sent successfully!', response)
res.status(200).json({ result: 'great success' })
} catch (error) {
console.log('Error:', error)
res.status(400).json(error)
}
}

28
api/newsletter.js Normal file
View File

@ -0,0 +1,28 @@
import FormData from 'form-data'
import Mailgun from 'mailgun.js'
const mailgun = new Mailgun(FormData)
const mg = mailgun.client({ username: 'discoursio', key: process.env.MAILGUN_API_KEY })
export default async (req, res) => {
const { email } = req.body
try {
const response = await mg.lists.members.createMember('newsletter@discours.io', {
address: email,
subscribed: true,
upsert: 'yes',
})
return res.status(200).json({
success: true,
message: 'Email was added to newsletter list',
response: JSON.stringify(response),
})
} catch (error) {
return res.status(400).json({
success: false,
message: error.message,
})
}
}