import * as nodemailer from "nodemailer"; import { fetchMeta } from "../misc/fetch-meta.js"; import Logger from "./logger.js"; import config from "../config/index.js"; export const logger = new Logger("email"); export async function sendEmail(to, subject, html, text) { const meta = await fetchMeta(true); const iconUrl = `${config.url}/static-assets/mail-wordmark.png`; const emailSettingUrl = `${config.url}/settings/email`; const enableAuth = meta.smtpUser != null && meta.smtpUser !== ""; const transporter = nodemailer.createTransport({ host: meta.smtpHost, port: meta.smtpPort, secure: meta.smtpSecure, ignoreTLS: !enableAuth, proxy: config.proxySmtp, auth: enableAuth ? { user: meta.smtpUser, pass: meta.smtpPass } : undefined }); try { const info = await transporter.sendMail({ from: meta.email, to: to, subject: subject, text: text, html: `