一:开启163邮箱的SMTP服务
- 首先开启服务,开启服务后会有一个授权密码,保存下来
二:配置Nest MailerModule模块
MailerModule配置的英文文档,官方文档有模板引擎的使用可以参考,我这边只需最简单的text即可
1. 安装依赖
npm install --save @nestjs-modules/mailer nodemailer
2.配置Module
//app.module.ts
import { Module } from '@nestjs/common';
import { MailerModule } from '@nestjs-modules/mailer';
@Module({
imports: [
...
MailerModule.forRoot({
transport: {
host: "smtp.163.com",
port: "465",
auth: {
user: "your eamil@163.com",
pass: "第一步开启服务后的授权密码"
}
},
from:'"your email name" <your eamil@163.com>',
},
}),
],
...
})
export class AppModule {}
三:配置Service
import { Injectable } from '@nestjs/common';
import { MailerService } from '@nestjs-modules/mailer';
@Injectable()
export class ExampleService {
constructor(private readonly mailerService: MailerService) {}
public example(): void {
this
.mailerService
.sendMail({
to: 'test@nestjs.com', // 要发送的目标邮箱
// from: 'noreply@nestjs.com', // 自定义发送者的邮箱,默认在mudule已配置了,可以不配置
subject: 'Testing Nest MailerModule ✔', // 标题
text: 'welcome', // 发送的文字
})
.then(() => {})
.catch(() => {});
}
}