import { ConfigService } from '@/config'; import { Injectable } from '@nestjs/common'; import nodemailer from 'nodemailer'; @Injectable() export class MailService { /** * NodeMailer实例 */ protected mailer: nodemailer.Transporter; /** * 构造函数 */ constructor(private config: ConfigService) { const { host, port, user, pass } = this.config.smtp; this.mailer = nodemailer.createTransport({ host, port, auth: { user, pass }, }); } /** * 发送邮件 * @param to 目标邮箱 * @param subject 主题 * @param html 内容 */ sendMail(to: string, subject: string, html: string) { return this.mailer.sendMail({ from: `${this.config.title} <${this.config.smtp.user}>`, to, subject, html, }); } }