31 lines
921 B
JavaScript
31 lines
921 B
JavaScript
import nodemailer from 'nodemailer'
|
|
import yn from 'yn'
|
|
|
|
const sendEmail = async options => {
|
|
|
|
const transporter = nodemailer.createTransport({
|
|
host: Bun.env.SMTP_HOST,
|
|
port: Bun.env.SMTP_PORT,
|
|
secure: yn(Bun.env.SECURE), // true for 465, false for other ports
|
|
auth: {
|
|
user: Bun.env.SMTP_USER, // generated ethereal user
|
|
pass: Bun.env.SMTP_PASSWORD, // generated ethereal password
|
|
},
|
|
})
|
|
|
|
// send mail with defined transport object
|
|
const message = {
|
|
from: `${Bun.env.FROM_NAME} <${Bun.env.FROM_EMAIL}>`, // sender address
|
|
to: options.email, // list of receivers
|
|
subject: options.subject, // Subject line
|
|
html: options.message.html, // HTML body
|
|
text: options.message.text, // plain text body
|
|
}
|
|
|
|
const info = await transporter.sendMail(message).catch((err) => console.error(err))
|
|
|
|
console.log('Message sent: %s', info.messageId)
|
|
}
|
|
|
|
export default sendEmail
|