- 创建项目
- Nest 控制器
- nest 配置路由请求数据
- Nest 服务
- Nest 模块
- 配置静态资源
- 配置模板引擎
- Cookie 的使用
- Session 的使用
- 跨域,前缀路径、网站安全、请求限速
- 管道、守卫、拦截器、过滤器、中间件
- 一例看懂中间件、守卫、管道、异常过滤器、拦截器
- 数据验证
- 配置抽离
- 环境配置
- 文件上传与下载
- 实现图片随机验证码
- 邮件服务
- nest 基于 possport + jwt 做登陆验证
- 对数据库的密码加密:md5 和 bcryptjs
- 角色权限
- 定时任务
- 接入 Swagger 接口文档
- nest 连接 Mongodb
- typeORM 操作 Mysql 数据库
- nest 统一处理数据库操作的查询结果
- 数据库实体设计与操作
- typeorm 增删改查操作
- typeorm 使用事务的 3 种方式
- typeorm 一对一关系设计与增删改查
- typeorm 一对多和多对一关系设计与增删改查
- typeorm 多对多关系设计与增删改查
- nest 连接 Redis
- 集成 redis 实现单点登录
- Q:nestJS 注入其他依赖时为什么还需要导入其 module
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
邮件服务
邮件服务使用文档 https://nest-modules.github.io/mailer/docs/mailer
// 邮件服务配置 // app.module.ts import { MailerModule } from '@nestjs-modules/mailer'; import { resolve, join } from 'path'; import { ConfigModule, ConfigService } from 'nestjs-config'; @Module({ imports: [ // 加载配置文件目录 src/config ConfigModule.load(resolve(__dirname, 'config', '**/!(*.d).{ts,js}')), // 邮件服务配置 MailerModule.forRootAsync({ useFactory: (config: ConfigService) => config.get('email'), inject: [ConfigService], }), ], controllers: [], providers: [], }) export class AppModule implements NestModule {} // src/config/email.ts 邮件服务配置 import { join } from 'path'; // npm i ejs -S import { EjsAdapter } from '@nestjs-modules/mailer/dist/adapters/ejs.adapter'; export default { transport: { host: 'smtp.qq.com', secureConnection: true, // use SSL secure: true, port: 465, ignoreTLS: false, auth: { user: '123@test.com', pass: 'dfafew1', }, }, defaults: { from: '"nestjs" <123@test.com>', }, // preview: true, // 发送邮件前预览 template: { dir: join(__dirname, '../templates/email'), // 邮件模板 adapter: new EjsAdapter(), options: { strict: true, }, }, };
邮件服务使用
// email.services.ts import { Injectable } from '@nestjs/common'; import { MailerService } from '@nestjs-modules/mailer'; @Injectable() export class EmailService { // 邮件服务注入 constructor(private mailerService: MailerService) {} async sendEmail() { console.log('发送邮件'); await this.mailerService.sendMail({ to: 'test@qq.com', // 收件人 from: '123@test.com', // 发件人 // subject: '副标题', text: 'welcome', // plaintext body html: '<h1>hello</h1>', // HTML body content // template: 'email', // 邮件模板 // context: { // 传入邮件模板的 data // email: 'test@qq.com', // }, }); return '发送成功'; } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论