first commit
This commit is contained in:
61
calcom/packages/lib/serverConfig.ts
Normal file
61
calcom/packages/lib/serverConfig.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
import type SendmailTransport from "nodemailer/lib/sendmail-transport";
|
||||
import type SMTPConnection from "nodemailer/lib/smtp-connection";
|
||||
|
||||
import { isENVDev } from "@calcom/lib/env";
|
||||
|
||||
import { getAdditionalEmailHeaders } from "./getAdditionalEmailHeaders";
|
||||
|
||||
function detectTransport(): SendmailTransport.Options | SMTPConnection.Options | string {
|
||||
if (process.env.RESEND_API_KEY) {
|
||||
const transport = {
|
||||
host: "smtp.resend.com",
|
||||
secure: true,
|
||||
port: 465,
|
||||
auth: {
|
||||
user: "resend",
|
||||
pass: process.env.RESEND_API_KEY,
|
||||
},
|
||||
};
|
||||
|
||||
return transport;
|
||||
}
|
||||
|
||||
if (process.env.EMAIL_SERVER) {
|
||||
return process.env.EMAIL_SERVER;
|
||||
}
|
||||
|
||||
if (process.env.EMAIL_SERVER_HOST) {
|
||||
const port = parseInt(process.env.EMAIL_SERVER_PORT || "");
|
||||
const auth =
|
||||
process.env.EMAIL_SERVER_USER && process.env.EMAIL_SERVER_PASSWORD
|
||||
? {
|
||||
user: process.env.EMAIL_SERVER_USER,
|
||||
pass: process.env.EMAIL_SERVER_PASSWORD,
|
||||
}
|
||||
: undefined;
|
||||
|
||||
const transport = {
|
||||
host: process.env.EMAIL_SERVER_HOST,
|
||||
port,
|
||||
auth,
|
||||
secure: port === 465,
|
||||
tls: {
|
||||
rejectUnauthorized: !isENVDev,
|
||||
},
|
||||
};
|
||||
|
||||
return transport;
|
||||
}
|
||||
|
||||
return {
|
||||
sendmail: true,
|
||||
newline: "unix",
|
||||
path: "/usr/sbin/sendmail",
|
||||
};
|
||||
}
|
||||
|
||||
export const serverConfig = {
|
||||
transport: detectTransport(),
|
||||
from: process.env.EMAIL_FROM,
|
||||
headers: getAdditionalEmailHeaders()[process.env.EMAIL_SERVER_HOST || ""] || undefined,
|
||||
};
|
||||
Reference in New Issue
Block a user