【Nest教程】Nest项目配置邮件服务器,实现发送邮件
16lz
2021-02-25
本章节我们在项目上集成mail,实现发送邮件功能
我的常用邮箱是126邮箱, 如果需要在项目上使用这个邮箱发送邮件,需要开启SMTP服务。
1 开启SMTP服务
在设置中找到POP3/SMTP/IMAP,页面如下,开启IMAP/SMTP服务,如果已开启,增加一组授权密码,复制下来,因为此密码只显示一次。
2 安装依赖文件
yarn add @nestjs-modules/mailer nodemailer#ornpm install --save @nestjs-modules/mailer nodemailer
3 配置
在app.module中配置
// 邮件import { MailerModule } from '@nestjs-modules/mailer';import { PugAdapter } from '@nestjs-modules/mailer/dist/adapters/pug.adapter';@Module({ imports: [ MailerModule.forRoot({ transport: { host: 'smtp.126.com', port: 25, ignoreTLS: true, secure: false, auth: { user: '你的邮箱地址', pass: '刚才复制的密码', }, }, defaults: { from: '"名字" <你的邮箱地址>', }, preview: false, template: { dir: process.cwd() + '/template/', adapter: new PugAdapter(), // or new PugAdapter() or new EjsAdapter() options: { strict: true, }, }, }) ], controllers: [AppController], providers: [AppService],})
我只演示此功能需要用到的,
4 编写发送服务
新建mail文件夹,文件夹下新建mail.service.ts文件,内容如下
import { Injectable } from '@nestjs/common';import { MailerService } from '@nestjs-modules/mailer';@Injectable()export class ExampleService { constructor(private readonly mailerService: MailerService) {} /** * 邮件发送 */ public example(subject: string, text: string, html: string): void { this.mailerService .sendMail({ to: '目标邮箱', from: '发送邮箱', subject: subject, text: text, html: html, }) .then(() => {}) .catch(() => {}); }}
5 发送邮件
需要在用到的地方增加
// 导入邮件import { ExampleService } from '../mail/mail.service';@Injectable()export class UserService { constructor( private readonly exampleService: ExampleService, ) {}}
调用
this.exampleService.example('主题', '主题', '内容');
©著作权归作者所有:来自51CTO博客作者mb5fd86dae5fbf6的原创作品,如需转载,请注明出处,否则将追究法律责任
更多相关文章
- 灭霸模式开启:百度贴吧2017年前的内容全部消失,可以跟黑历史说再见
- 告别2020,迎接2021!
- Linux下开启缓存服务NSCD
- Android(安卓)蓝牙开启关闭
- android 简单实现电话的监听
- 禁用GPU硬件加速方法
- Acitivity加载模式说起
- Android实现电子邮箱客户端
- 【Android】代码开启/关闭GPS