-
Notifications
You must be signed in to change notification settings - Fork 28
/
email.js
48 lines (40 loc) · 1.38 KB
/
email.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
require('dotenv').config()
const nodemailer = require('nodemailer')
const nodemailerSendgrid = require('nodemailer-sendgrid')
const { createOTPEmailBody, createMessageEmailBody } = require('./emailtemplate')
const transporter = nodemailer.createTransport(
nodemailerSendgrid({
apiKey: process.env.SENDGRID_API_KEY
})
)
module.exports.sendVerifyEmail = async function (emailFrom, emailTo, generatedOTP) {
const emailBody = createOTPEmailBody(generatedOTP)
const emailOptions = {
from: emailFrom,
to: emailTo,
subject: 'Your OTP for food Donation',
html: emailBody
}
transporter.sendMail(emailOptions)
.then(() => console.log('Email Sent'))
.catch((err) => console.log(err))
}
module.exports.sendMessage = async function (replyTo, senderName, messageText) {
const emailBody = createMessageEmailBody(replyTo, senderName, messageText)
const emailOptions = {
from: process.env.SENDER_MAIL,
to: {
name: process.env.CONTACTS_EMAIL_NAME,
address: process.env.CONTACTS_EMAIL
},
replyTo: {
name: senderName,
address: replyTo
},
subject: 'Help and Support Needed',
html: emailBody
}
transporter.sendMail(emailOptions)
.then((response) => console.log(response))
.catch((err) => console.log(err))
}