-
Notifications
You must be signed in to change notification settings - Fork 0
/
email.ts
40 lines (34 loc) · 1.12 KB
/
email.ts
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
import nodemailer from "nodemailer";
require("dotenv").config();
const port = parseInt(process.env.SMTP_PORT || "") || 587;
export const transport =
process.env.SMTP_HOST && process.env.SMTP_USER && process.env.SMTP_PASS
? nodemailer.createTransport({
host: process.env.SMTP_HOST,
port,
auth: {
user: process.env.SMTP_USER,
pass: process.env.SMTP_PASS,
},
})
: undefined;
if (typeof transport === "undefined") {
console.error("no email service configured.");
} else {
console.log("email service configured.");
}
export const sender = {
name: process.env.EMAIL_FROM_NAME || "remix-payload app",
address: process.env.EMAIL_FROM || "app@example.com",
};
export const from = `${sender.name} <${sender.address}>`;
export const connectedEmailAddresses =
process.env.CONNECTED_EMAIL_ADDRESSES?.split(",")
.map((x) => x.trim())
.filter(Boolean) || [];
if (!connectedEmailAddresses.length) {
console.error("no connected email addresses configured.");
} else {
console.log("connected email addresses:", connectedEmailAddresses);
}
export default transport;