From dda7b0c80e1785e1979b088a32d7b47a763bb6a3 Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 23 May 2019 23:46:10 +0900 Subject: Refactor --- src/services/send-email.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/services/send-email.ts (limited to 'src/services') diff --git a/src/services/send-email.ts b/src/services/send-email.ts new file mode 100644 index 0000000000..8818c5fcde --- /dev/null +++ b/src/services/send-email.ts @@ -0,0 +1,36 @@ +import * as nodemailer from 'nodemailer'; +import { fetchMeta } from '../misc/fetch-meta'; +import Logger from './logger'; + +export const logger = new Logger('email'); + +export async function sendEmail(to: string, subject: string, text: string) { + const meta = await fetchMeta(true); + + const enableAuth = meta.smtpUser != null && meta.smtpUser !== ''; + + const transporter = nodemailer.createTransport({ + host: meta.smtpHost, + port: meta.smtpPort, + secure: meta.smtpSecure, + ignoreTLS: !enableAuth, + auth: enableAuth ? { + user: meta.smtpUser, + pass: meta.smtpPass + } : undefined + } as any); + + try { + const info = await transporter.sendMail({ + from: meta.email!, + to: to, + subject: subject || 'Misskey', + text: text + }); + + logger.info('Message sent: %s', info.messageId); + } catch (e) { + logger.error(e); + throw e; + } +} -- cgit v1.2.3-freya