Files
server/src/lib/mail.ts
T

50 lines
1.2 KiB
TypeScript

import nodemailer from "nodemailer";
import SMTPTransport from "nodemailer/lib/smtp-transport";
let mailAccount = { user: process.env.MAILUSER + "@mail." + process.env.DOMAIN, pass: process.env.MAILPASSWORD };
let transporter = nodemailer.createTransport(
new SMTPTransport({
host: "localhost",
port: 587,
secure: false,
auth: {
user: mailAccount.user,
pass: mailAccount.pass,
},
tls: {
rejectUnauthorized: false,
secureProtocol: "TLSv1_method",
},
})
);
if (process.env.DEV == "true") {
console.log("test");
(async () => {
mailAccount = await nodemailer.createTestAccount();
console.log(mailAccount);
transporter = nodemailer.createTransport({
host: "smtp.ethereal.email",
port: 587,
secure: false, // true for 465, false for other ports
auth: {
user: mailAccount.user, // generated ethereal user
pass: mailAccount.pass, // generated ethereal password
},
});
})();
}
const sendMail = async (from: string, to: string, subject: string, text?: string, html?: string) => {
return await transporter.sendMail({
from: from,
to: to,
subject: subject,
text: text,
html: html,
});
};
export default { sendMail, mailAccount };