【Nest教程】Nest项目配置邮件服务器,实现发送邮件

简介: 【Nest教程】Nest项目配置邮件服务器,实现发送邮件

1 开启SMTP服务

在设置中找到POP3/SMTP/IMAP,页面如下,开启IMAP/SMTP服务,如果已开启,增加一组授权密码,复制下来,因为此密码只显示一次。

image.png


2 安装依赖文件

yarn add @nestjs-modules/mailer nodemailer
#or
npm 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('主题', '主题', '内容');
相关文章
|
17天前
|
JSON JavaScript 前端开发
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
《进阶篇第6章:vue中的ajax》包括回顾发送ajax请求方式、vue-cli脚手架配置代理服务器、vue-resource
54 22
|
2天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
9天前
|
弹性计算 安全 网络安全
阿里云服务器租用流程,四种阿里云服务器租用方式图文教程参考
阿里云服务器可以通过自定义租用、一键租用、云市场租用和活动租用四种方式去租用,不同的租用方式适合不同的用户群体,例如我们只是想租用一款配置较低且可以快速部署应用的云服务器,通常可以选择一键租用或者云市场租用,本文为大家展示不同租用方式的适合对象以及租用流程,以供初次租用阿里云服务器的用户参考和选择。下面是阿里云服务器租用的图文操作步骤。
|
11天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
119 2
|
12天前
|
NoSQL Linux PHP
|
17天前
|
JavaScript 前端开发 Java
vue2知识点:vue-cli脚手架配置代理服务器
vue2知识点:vue-cli脚手架配置代理服务器
47 7
|
17天前
|
前端开发 JavaScript Java
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
第6章:Vue中的ajax(包含:回顾发送ajax请求方式、vue-cli脚手架配置代理服务器)
47 4
|
17天前
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。
|
19天前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
107 0
|
2天前
|
弹性计算
阿里云2核16G服务器多少钱一年?亲测价格查询1个月和1小时收费标准
阿里云2核16G服务器提供多种ECS实例规格,内存型r8i实例1年6折优惠价为1901元,按月收费334.19元,按小时收费0.696221元。更多规格及详细报价请访问阿里云ECS页面。
24 9