ts发送邮箱,以网易邮箱来演示

2024-08-29 13:52
文章标签 邮箱 发送 演示 ts 网易

本文主要是介绍ts发送邮箱,以网易邮箱来演示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

①引入依赖:

npm i @nestjs-modules/mailer nodemailer

这里是引入相应的需要的依赖。

创建模块,以及服务

nest generate module sendEmail 

nest generate service sendEmail 

②在app.module中注册,之后在其它的模块就可以使用

import { Module } from '@nestjs/common';
import { MailerModule } from '@nestjs-modules/mailer';
import { PugAdapter } from '@nestjs-modules/mailer/dist/adapters/pug.adapter';@Module({imports: [MailerModule.forRoot({transport: {host: process.env.EMAIL_HOST, // Replace with the SMTP server of the email providerport: parseInt(process.env.EMAIL_PORT), // Typically 465 for secure SMTP (SSL/TLS)secure: true, // Use SSL/TLSauth: {user: process.env.EMAIL_USERNAME, // Your email addresspass: process.env.EMAIL_PASSWORD, // Your email password},},defaults: {from: `"${process.env.EMAIL_FROM}" <${process.env.EMAIL_FROM_ADDRESS}>`, // Default sender address},template: {dir: join(__dirname, 'templates'), // Directory for email templatesadapter: new PugAdapter(), // Template engineoptions: {strict: true,},},}),],providers: [],exports: [],
})
export class AppModule {}

EMAIL_HOST='smtp.163.com'
EMAIL_PORT='465'
EMAIL_USERNAME='你的邮箱号'
EMAIL_PASSWORD='你的邮箱密码'
EMAIL_FROM='发送的来源信息'
EMAIL_FROM_ADDRESS='你的邮箱号'

到这里你就配置完成了信息

import { Module } from '@nestjs/common';
import { SendEmailService } from './send-email.service';@Module({providers: [SendEmailService],exports: [SendEmailService],
})
export class SendEmailModule {}

③使用:

我这里将内容抽取出来作为方法来使用

import { MailerService } from '@nestjs-modules/mailer';
import { Injectable } from '@nestjs/common';@Injectable()
export class SendEmailService {constructor(private readonly mailerService: MailerService) {}// eslint-disable-next-line max-lines-per-functionasync sendEmail(to: string,subject: string,title: string,subTitle: string,description: string,content: string | number,) {const result = await this.mailerService.sendMail({to,from: process.env.EMAIL_FROM_ADDRESS,subject: subject,template: 'reset-password',context: {title,subTitle,description,content,},});return result;}
}

这里的reset-password是模块的名称

就在该模块下的templates文件夹下创建reset-password.hbs内容

<html lang='en-US'>

  <head>

    <meta content='text/html; charset=utf-8' http-equiv='Content-Type' />

    <title>${title}</title>

    <meta name='description' content='Email Template' />

    <style type='text/css'>

      a:hover { text-decoration: underline !important; }

    </style>

  </head>

  <body

    marginheight='0'

    topmargin='0'

    marginwidth='0'

    style='margin: 0px; background-color: #f2f3f8'

    leftmargin='0'

  >

    <!--100% body table-->

           <!-- 这里输入自己想要的样式,要发送的内容等-->

    <!--/100% body table-->

  </body>

</html>

这里就是发送的样式的路径位置,以及文件名称

这样就将整个发送的从注册到使用书写完成

这篇关于ts发送邮箱,以网易邮箱来演示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1118047

相关文章

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

如何使用C#串口通讯实现数据的发送和接收

《如何使用C#串口通讯实现数据的发送和接收》本文详细介绍了如何使用C#实现基于串口通讯的数据发送和接收,通过SerialPort类,我们可以轻松实现串口通讯,并结合事件机制实现数据的传递和处理,感兴趣... 目录1. 概述2. 关键技术点2.1 SerialPort类2.2 异步接收数据2.3 数据解析2.

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

使用Java发送邮件到QQ邮箱的完整指南

《使用Java发送邮件到QQ邮箱的完整指南》在现代软件开发中,邮件发送功能是一个常见的需求,无论是用户注册验证、密码重置,还是系统通知,邮件都是一种重要的通信方式,本文将详细介绍如何使用Java编写程... 目录引言1. 准备工作1.1 获取QQ邮箱的SMTP授权码1.2 添加JavaMail依赖2. 实现

Qt实现发送HTTP请求的示例详解

《Qt实现发送HTTP请求的示例详解》这篇文章主要为大家详细介绍了如何通过Qt实现发送HTTP请求,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、添加network模块2、包含改头文件3、创建网络访问管理器4、创建接口5、创建网络请求对象6、创建一个回复对

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

Python手搓邮件发送客户端

《Python手搓邮件发送客户端》这篇文章主要为大家详细介绍了如何使用Python手搓邮件发送客户端,支持发送邮件,附件,定时发送以及个性化邮件正文,感兴趣的可以了解下... 目录1. 简介2.主要功能2.1.邮件发送功能2.2.个性签名功能2.3.定时发送功能2. 4.附件管理2.5.配置加载功能2.6.