mirror of
https://github.com/nicotsx/zerobyte.git
synced 2026-04-18 22:09:30 -04:00
24 lines
774 B
TypeScript
24 lines
774 B
TypeScript
import type { NotificationConfig } from "~/schemas/notifications";
|
|
|
|
export const buildEmailShoutrrrUrl = (config: Extract<NotificationConfig, { type: "email" }>) => {
|
|
const shoutrrrUrl = new URL("smtp://placeholder");
|
|
|
|
shoutrrrUrl.hostname = config.smtpHost;
|
|
shoutrrrUrl.port = String(config.smtpPort);
|
|
shoutrrrUrl.pathname = "/";
|
|
|
|
if (config.username && config.password) {
|
|
shoutrrrUrl.username = config.username;
|
|
shoutrrrUrl.password = config.password;
|
|
}
|
|
|
|
shoutrrrUrl.searchParams.set("from", config.from);
|
|
if (config.fromName) {
|
|
shoutrrrUrl.searchParams.set("fromname", config.fromName);
|
|
}
|
|
shoutrrrUrl.searchParams.set("to", config.to.join(","));
|
|
shoutrrrUrl.searchParams.set("starttls", config.useTLS ? "yes" : "no");
|
|
|
|
return shoutrrrUrl.toString();
|
|
};
|