feat(mail): add smtp email delivery
This commit is contained in:
parent
faddaa91d0
commit
3456b04ed4
25 changed files with 529 additions and 60 deletions
|
|
@ -1,7 +1,7 @@
|
|||
import { mkdir, readFile, writeFile } from "fs/promises";
|
||||
import path from "path";
|
||||
import { dataDirectory } from "@/lib/runtime/config";
|
||||
import type { ContactInquiry, InquiryStatus, RepairInquiry, SiteSettings, SmtpSettings } from "./types";
|
||||
import { configDirectory, dataDirectory } from "@/lib/runtime/config";
|
||||
import type { ContactInquiry, InquiryStatus, RepairInquiry, SiteSettings } from "./types";
|
||||
|
||||
async function ensureDataDir() {
|
||||
await mkdir(dataDirectory, { recursive: true });
|
||||
|
|
@ -112,26 +112,8 @@ export async function saveSiteSettings(form: FormData) {
|
|||
return settings;
|
||||
}
|
||||
|
||||
export async function getSmtpSettings() {
|
||||
return readJson<SmtpSettings>("smtp-settings.json", {
|
||||
host: "",
|
||||
port: "587",
|
||||
username: "",
|
||||
fromAddress: "",
|
||||
replyToAddress: "",
|
||||
tls: true,
|
||||
});
|
||||
export async function ensureConfigDir() {
|
||||
await mkdir(configDirectory, { recursive: true });
|
||||
}
|
||||
|
||||
export async function saveSmtpSettings(form: FormData) {
|
||||
const settings: SmtpSettings = {
|
||||
host: text(form.get("host")),
|
||||
port: text(form.get("port")),
|
||||
username: text(form.get("username")),
|
||||
fromAddress: text(form.get("fromAddress")),
|
||||
replyToAddress: text(form.get("replyToAddress")),
|
||||
tls: form.get("tls") === "on",
|
||||
};
|
||||
await writeJson("smtp-settings.json", settings);
|
||||
return settings;
|
||||
}
|
||||
export { text };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue