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

相关文章

研究人员在RSA大会上演示利用恶意JPEG图片入侵企业内网

安全研究人员Marcus Murray在正在旧金山举行的RSA大会上公布了一种利用恶意JPEG图片入侵企业网络内部Windows服务器的新方法。  攻击流程及漏洞分析 最近,安全专家兼渗透测试员Marcus Murray发现了一种利用恶意JPEG图片来攻击Windows服务器的新方法,利用该方法还可以在目标网络中进行特权提升。几天前,在旧金山举行的RSA大会上,该Marcus现场展示了攻击流程,

Android中如何实现adb向应用发送特定指令并接收返回

1 ADB发送命令给应用 1.1 发送自定义广播给系统或应用 adb shell am broadcast 是 Android Debug Bridge (ADB) 中用于向 Android 系统发送广播的命令。通过这个命令,开发者可以发送自定义广播给系统或应用,触发应用中的广播接收器(BroadcastReceiver)。广播机制是 Android 的一种组件通信方式,应用可以监听广播来执行

Collection的所有的方法演示

import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class TestCollection {/*** @param args* Collection的所有的方法演示* 此程序没有使用泛型,所以可以添加任意类型* 以后如果写到泛型会补充这一方面的内容*/public s

类和对象的定义和调用演示(C++)

我习惯把类的定义放在头文件中 Student.h #define _CRT_SECURE_NO_WARNINGS#include <string>using namespace std;class student{public:char m_name[25];int m_age;int m_score;char* get_name(){return m_name;}int set_name

61.以太网数据回环实验(4)以太网数据收发器发送模块

(1)状态转移图: (2)IP数据包格式: (3)UDP数据包格式: (4)以太网发送模块代码: module udp_tx(input wire gmii_txc ,input wire reset_n ,input wire tx_start_en , //以太网开始发送信

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示; 代码如下: Demo07.jrxml <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.6.

大厂算法例题解之网易2018秋招笔试真题 (未完)

1、字符串碎片 【题目描述】一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,“aaabbaaac” 是由下面碎片组成的:‘aaa’,‘bb’,‘c’。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的 平均长度是多少。 输入描述: 输入包括一个字符串 s,字符串 s 的长度 length(1 ≤ length ≤ 50),s 只含小写字母(‘a’-‘z’) 输出描述

node.js实现阿里云短信发送

效果图 实现 一、准备工作 1、官网直达网址: 阿里云 - 短信服务 2、按照首页提示依次完成相应资质认证和短信模板审核; 3、获取你的accessKeySecret和accessKeyId; 方法如下: 获取AccessKey-阿里云帮助中心 4、获取SignName(签名名称)和 TemplateCode(模板code); 二、代码实现 1、项目结构 【/c

springboot项目编写发送异常日志到企微工具包

1.创建基础Bean public final class ThreadFactory implements java.util.concurrent.ThreadFactory {private static final AtomicInteger poolNumber = new AtomicInteger(1);private final ThreadGroup group;priva

spring项目使用邮箱验证码校验

本项目采用免费QQ邮箱验证码方式进行登录安全的校验。 前期工作 申请邮箱安全授权码 打开QQ邮箱官网点击设置 进入设置页面后点击账户按钮  进入账户后一直往下拉页面找到POP3服务栏,然后点击管理服务(如果没有开启服务需要先开启服务,按照邮箱提示操作即可) 进入管理服务页面后如果没有授权码,点击生成授权码,如果有即可进入授权码管理页面查看。 授权码过一段时间会自动过期,需要重