当前位置: 首页 > news >正文

网站建设板块如何分类资溪县建设局网站

网站建设板块如何分类,资溪县建设局网站,网站界面设计的优点,wordpress开通支付宝微信目录 ​编辑 前言 准备工作 邮箱配置 代码实现 服务部署 使用效果 题外话 写在最后 相关代码: 前言 由于邮箱账号和手机号的唯一性,通常实现验证码的校验时比较常用的两种方式是手机短信推送和邮箱推送,此外,邮件推送服…

目录

​编辑

前言

准备工作

邮箱配置

代码实现

服务部署

使用效果

题外话

写在最后

相关代码:


前言

由于邮箱账号和手机号的唯一性,通常实现验证码的校验时比较常用的两种方式是手机短信推送和邮箱推送,此外,邮件推送服务还可以达到推送关键信息和消息通知的诉求。为了方便快捷的使用邮件推送api,我基于Node和相关库快速搭建了一个简易的开箱即用的邮件推送服务。本文与大家做个分享

准备工作

  • 云函数,服务器或第三方内网穿透(提供api调用)
  • Node环境及后续的依赖包
  • 个人邮箱

邮箱配置

首先是邮箱的一些配置项,大部分的POP3/SMTP/IMAP的配置都在设置中,以88邮箱为例,点击客户端设置,开启POP3/SMTP/IMAP服务

然后记住对应的服务器地址、端口,新建秘钥或者访问密码并记住(一般只会展示一次,要记好)

代码实现

使用node+ts+nodemailer模块实现一个云函数,将上述的配置项放在环境变量中,通过云函数的process.env获取,通过调取云函数接口发送邮件操作

// @see https://docs.aircode.io/guide/functions/
import {createTransport, Transporter, SentMessageInfo
} from 'nodemailer';
import { catchAwait } from "utils-lib-js"
type IMailOptions = {from: stringto: stringsubject: stringtext: string
}
type IMailParams = { mail: string, title: string, content: string }type IEnv = {service: string // 运营商 参考:node_modules\nodemailer\lib\well-known\services.json 中的配置host: string // 邮箱服务器地址port: number // 邮箱SSL协议端口号user: string //发送方的用户名,一般指邮箱号pass: string //发送方的密码,一般指专用密码或者邮箱授权码[key: string]: any
}
const { service, host, port, user, pass } = process.env as IEnvconst EmailTransporter = {service, // 运营商  qq 网易 若使用QQ邮箱,则只需配置service:qqhost, // 若使用网易邮箱,则需配置host:smtp.163.comport, // 端口auth: {user, // 发送方的邮箱pass, // 发送方授权码},
};
class SendMail {transporter: Transporter<SentMessageInfo>mailOptions?: IMailOptionsconstructor() {this.transporter = createTransport(EmailTransporter); //邮箱配置项}/* 发送邮件模块* @method    sendEmail* @for       SendMail* @param   {String} mail  用户邮箱* @param   {String} title  邮件标题* @param   {String} content  邮件内容* @return {Promise<res>}   是否发送成功*/sendEmail = (opts: IMailParams) => {const { mail, title, content } = optsthis.mailOptions = {from: `消息来自 < ${user} >`,to: mail,subject: title,text: content,};return this.transporter.sendMail(this.mailOptions);};
}
const email = new SendMail();
export default async function (params: IMailParams, _: unknown) {console.log('Received params:', params);const [err, msg] = await catchAwait(email.sendEmail(params))return err ?? msg
}

上述代码中的IEnv类型指代的是环境变量的结构,通过获取环境变量的属性来进行基础静态配置 

服务部署

服务部署可以使用AirCode云函数,可以参照这篇文章

注册账号之类的就不说了,直接创建新的App

应用名可以自取,比如mail-server,环境使用node16,ts可以根据自己的具体场景可用可不用,然后选择服务器部署的区域,有美国和香港,选香港就可以了(懂的都懂),最后点击创建按钮

来到开发面板区域,做个说明(建议熟悉一下)

接着将代码复制到代码编辑器中,并根据IEnv类型设置一下环境变量

安装依赖

部署前调试一下

最后部署并复制云函数请求地址

使用效果

题外话

上述用到了AirCode云函数,除此之外推荐一些类似的网站,仅供参考

Glitch: The friendly community where everyone builds the web

laf 云开发

Qoddi.com - Premium Cloud App Hosting Platform

Cloud Application Platform | Heroku

Railway

更多有趣的网站可以通过我的书签获取

写在最后

本文介绍了如何使用Node.js和相关库快速搭建一个开箱即用的邮件推送服务。通过配置环境变量和使用Nodemailer库,我们能够快速配置和发送邮件,满足用户的关键信息和通知需求。

以上就是文章全部内容了,希望本文对你理解和搭建开箱即用的Node邮件推送服务有所帮助,并能够在实际应用中发挥作用。

如果觉得文章不错的话,还望三连支持一下,感谢!

相关代码:

邮件推送服务

utils-lib-js: JavaScript工具函数,封装的一些常用的js函数

http://www.yayakq.cn/news/552937/

相关文章:

  • 万先生网站建立网站第一步怎么做
  • 寻找五屏网站建设关于电子工程的学术论坛
  • 大丰网站建设王野天津音乐广播电台图片
  • 甘肃网站建设企业推荐手机网站搜索优化
  • wordpress站点相关织梦网站安装视频教程
  • 阿里云怎么做淘宝客网站学校网站建设钉钉
  • wordpress承载压力晋中网站seo
  • 江山网站建设夏朝是谁建立的
  • 张云网站建设广告设计logo标志
  • 我请网络公司做的网站上的图片被当广告拦截了_怎么回事在网上做软件挣钱的网站
  • 网站建设业务提成北京免费网站开发维护
  • 汕头网站建设维护网站建设出现乱码是怎么回事
  • 成都企业网站制作视觉vi设计系统
  • 东铁匠营网站建设公司域名入口
  • 广东住房城乡建设厅网站首页网站建设创新互联
  • 河南代做网站百度链接
  • 中山做网站的虚拟网站建设指导
  • 做网站需要一些什么工具建可收费的网站
  • 霸州网站设计网页设计公司兴田德润官网多少
  • 怎么做北京pk10的网站电影网站如何做seo
  • 开封做网站优化做网站 知乎
  • 如何做一个网站平台千锋教育前端学费多少
  • 网站换域名影响吗企业软件下载
  • 做微信公众平台的网站教育培训行业网站建设
  • 建设文明网 联盟网站的公司网站模板最新
  • php网站建设费用域名大全 二级域名
  • 自己做装修网站wordpress 首页添加链接地址
  • 昆山网站建设哪家比较好网站前端代码模板
  • 网站搜索功能怎样做外包加工原因
  • 网站空间控制面板重庆有哪些科技骗子公司