当前位置:首页 > 生活 >

发邮件怎么发路径链接(发邮件到邮箱怎么发)

来源:原点资讯(m.360kss.com)时间:2024-04-13 02:29:08作者:YD166手机阅读>>

在学习 Nestjs 的过程中,我希望能够使用 Nodemailer 发送测试邮件,但在 NestJS 应用程序的上下文中我遇到了困难。我在互联网上搜索了解决方案,在经过大量研究后,我找到了一个解决方法。结果证明,这真的很简单。

在本文中,我将分享我的解决方案,以便您可以在您的 NestJS 项目中使用它。

(本文视频讲解:java567.com)

目录
  • 如何设置 NestJS 项目
  • 如何在应用程序中配置 Nodemailer
  • 如何使用 Nodemailer 发送电子邮件
  • 结论
如何设置 NestJS 项目

理想情况下,当用户点击忘记密码路由时,应该向用户的电子邮件发送一个链接,通过该链接,用户应该能够重置密码。本文将演示使用 Nodemailer 实现此功能的测试案例场景。

打开你喜欢的 IDE 或导航到终端并粘贴以下命令:

$ npm i -g @nestjs/cli $ nest new nodemailer-app

上述命令将生成一个名为 nodemailer-app 的新项目。

完成后,导航到你的项目文件夹并安装 Nodemailer 包,npm i --save @nestjs-modules/mailer nodemailer 和类型,npm i --save-dev @types/nodemailer。

如何配置您的应用程序中的 Nodemailer

在继续之前,请确保你在 mailtrap.io 上有一个帐户。如果有,请登录并导航到Email Testing。如果没有,请创建自己的收件箱。导航到收件箱,你应该看到将用于在应用程序中配置 Nodemailer 的凭据。

在你的项目目录中,转到应用程序模块文件并配置包:

import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { AuthModule } from './auth/auth.module'; import { MailerModule } from '@nestjs-modules/mailer'; @Module({ imports: [ AuthModule, MailerModule.forRoot({ transport: { host: process.env.EMAIL_HOST, auth: { user: process.env.EMAIL_USERNAME, pass: process.env.EMAIL_PASSWORD, }, }, }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {}

在上述代码中,你从 @nestjs-modules/mailer 中导入了 MailerModule。然后你调用了 forRoot() 方法。在 forRoot() 方法内部,你指定了一个包含主机和 auth 属性的 transport 属性。

不要忘记从 mailtrap.io 上的收件箱中获取主机、端口、用户名和密码。

你可以创建一个 .env 文件,其中包含所有的凭据详细信息。这样做是明智的。为了能够在 NestJS 中加载适当的 .env 文件,安装:

$ npm i --save @nestjs/config

然后在你的 app.module.ts 文件中,导入 ConfigModule:

import { ConfigModule } from '@nestjs/config';

仍然在你的 app.module.ts 文件中

// 将配置模块包含在你的导入数组中 @Module({ imports: [ ConfigModule.forRoot({ envFilePath: '.env', isGlobal: true }), ], controllers: [AppController], providers: [AppService], })如何使用 NodeMailer 发送电子邮件

配置好 Nodemailer 后,现在是时候用它发送电子邮件了。

在你的 app.service.ts 文件中,粘贴以下代码:

import { MailerService } from '@nestjs-modules/mailer'; import { Injectable } from '@nestjs/common'; @Injectable() export class AppService { constructor(private readonly mailService: MailerService) {} sendMail() { const message = `Forgot your password? If you didn't forget your password, please ignore this email!`; this.mailService.sendMail({ from: 'Kingsley Okure <kingsleyokgeorge@gmail.com>', to: 'joanna@gmail.com', subject: `How to Send Emails with Nodemailer`, text: message, }); } }

在 app.service.ts 文件中,注入了 MailerService,然后在类中使用它发送电子邮件。在类内部,MailerService 有一个接受对象作为参数的 sendMail 函数。该对象包含 from、to、subject 和 text 属性。

一旦完成了这一步,在 app.controller.ts 文件中,粘贴以下代码:

import { Controller, Get, Res } from '@nestjs/common'; import { AppService } from './app.service'; @Controller() export class AppController { constructor(private readonly appService: AppService) {} @Get() sendMailer(@Res() response: any) { const mail = this.appService.sendMail(); return response.status(200).json({ message: 'success', mail, }); } }

控制器中所做的全部工作就是创建一个 Get 请求,该请求将调用你在服务中创建的 sendMail 函数。

在实际应用中,所有这些操作理想情况下将在忘记密码功能中完成。用户一旦点击了忘记密码路由,将会收到一封电子邮件。

要测试这个小型设置,打开你的 Postman 并转到 localhost:3000 然后点击发送。

然后转到你的 mailtrap.io 收件箱并查看你的消息。

结论

在本文中,你学习了如何使用 Nodemailer 发送电子邮件,这是一种旨在帮助开发人员一次发送邮件给多个人的软件。

你还学习了如何在 NestJs 应用程序的上下文中配置和设置它。

(本文视频讲解:java567.com)

,

栏目热文

房地产工作汇报及总结(房地产年度工作总结及计划)

房地产工作汇报及总结(房地产年度工作总结及计划)

1月4日下午,中指研究院指数事业部研究副总监陈文静在中指市场形势研究成果分享会上对2021房地产市场形势进行总结,全年呈...

2024-04-13 01:53:49查看全文 >>

房地产工作总结与心得(房产培训心得300字)

房地产工作总结与心得(房产培训心得300字)

自xx年7月26日加入恒大以来已是4月有余,在四个多月的时间里我从一名同学变成一个社会人,开头了自己的职业之路。从应聘恒...

2024-04-13 01:57:56查看全文 >>

房地产个人工作总结简短(房地产个人工作总小结简短100字)

房地产个人工作总结简短(房地产个人工作总小结简短100字)

#我的2023年终总结#好的,以下是2023年地产工作者工作总结:一、工作成就与经验楼盘规划设计在2023年,我参与了数...

2024-04-13 01:58:57查看全文 >>

房地产工作总结结束语(房地产每日工作总结怎么写)

房地产工作总结结束语(房地产每日工作总结怎么写)

岁月荏苒,时光如梭,旧的一年即将过去,新的一年就要来临。我来到贵公司上班已经一年了,贵公司良好的工作环境和工作氛围使我受...

2024-04-13 01:46:08查看全文 >>

房地产年工作总结范文(房地产年度总结个人总结)

房地产年工作总结范文(房地产年度总结个人总结)

各位领导,同事们:大家好!在这个阳光明媚的好日子,我们即将告辞年,迎来202x年。过去的一年我们有进步也有不足,现在请允...

2024-04-13 02:28:48查看全文 >>

邮箱如何发送文件夹(怎么接收邮箱发的文件夹)

邮箱如何发送文件夹(怎么接收邮箱发的文件夹)

邮件作为一种仍是工作往来交流常用的沟通工具,人们常常用邮箱来沟通工作,传输PDF、PPT、Word等格式的文件,其发送附...

2024-04-13 01:57:35查看全文 >>

发邮件怎么附加整个文件夹(如何把邮件设置到指定文件夹)

发邮件怎么附加整个文件夹(如何把邮件设置到指定文件夹)

大多数电子邮件服务都不安全并且限制附件文件的大小,但是有一些方法可以安全地发送大文件。如果您曾尝试将多个图像或视频文件附...

2024-04-13 01:49:04查看全文 >>

发邮件时怎么添加文件夹(邮件正文里怎么添加文件)

发邮件时怎么添加文件夹(邮件正文里怎么添加文件)

如今这个社会是一个内卷的社会,在我们的平常工作中不仅需要努力的工作,还需要有一颗敢于求职的心,只有这样才可以在如今这个高...

2024-04-13 02:27:54查看全文 >>

怎样把文件夹发送到邮件(怎么把文件夹用邮件形式发出)

怎样把文件夹发送到邮件(怎么把文件夹用邮件形式发出)

平时电脑桌面上的东西总是会不知不觉地变得多起来。整理起来也是个体力活。如果给右键的`发送到`增加一个位置,能把一些常用的...

2024-04-13 02:00:58查看全文 >>

怎么判断右岸和左岸(河流的左岸右岸是怎么区分的)

怎么判断右岸和左岸(河流的左岸右岸是怎么区分的)

左岸和右岸的概念最初源自地理学,通常是指河流两侧的岸边。判断左岸和右岸的方法是:1. 面向河流下游(即水流方向)。2. ...

2024-04-13 02:02:08查看全文 >>

文档排行