高明建网站服务,中卫网站建设,wordpress 重新设置密码,互动吧网站模板目录
编辑
前言
准备工作
邮箱配置
代码实现
服务部署
使用效果
题外话
写在最后
相关代码#xff1a; 前言
由于邮箱账号和手机号的唯一性#xff0c;通常实现验证码的校验时比较常用的两种方式是手机短信推送和邮箱推送#xff0c;此外#xff0c;邮件推送服…
目录
编辑
前言
准备工作
邮箱配置
代码实现
服务部署
使用效果
题外话
写在最后
相关代码 前言
由于邮箱账号和手机号的唯一性通常实现验证码的校验时比较常用的两种方式是手机短信推送和邮箱推送此外邮件推送服务还可以达到推送关键信息和消息通知的诉求。为了方便快捷的使用邮件推送api我基于Node和相关库快速搭建了一个简易的开箱即用的邮件推送服务。本文与大家做个分享
准备工作
云函数服务器或第三方内网穿透提供api调用Node环境及后续的依赖包个人邮箱
邮箱配置
首先是邮箱的一些配置项大部分的POP3/SMTP/IMAP的配置都在设置中以88邮箱为例点击客户端设置开启POP3/SMTP/IMAP服务 然后记住对应的服务器地址、端口新建秘钥或者访问密码并记住一般只会展示一次要记好 代码实现
使用nodetsnodemailer模块实现一个云函数将上述的配置项放在环境变量中通过云函数的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邮箱则只需配置serviceqqhost, // 若使用网易邮箱则需配置hostsmtp.163.comport, // 端口auth: {user, // 发送方的邮箱pass, // 发送方授权码},
};
class SendMail {transporter: TransporterSentMessageInfomailOptions?: IMailOptionsconstructor() {this.transporter createTransport(EmailTransporter); //邮箱配置项}/* 发送邮件模块* method sendEmail* for SendMail* param {String} mail 用户邮箱* param {String} title 邮件标题* param {String} content 邮件内容* return {Promiseres} 是否发送成功*/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环境使用node16ts可以根据自己的具体场景可用可不用然后选择服务器部署的区域有美国和香港选香港就可以了懂的都懂最后点击创建按钮 来到开发面板区域做个说明建议熟悉一下
接着将代码复制到代码编辑器中并根据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.morning.kqzrt.cn.gov.cn.kqzrt.cn http://www.morning.ljtwp.cn.gov.cn.ljtwp.cn http://www.morning.stpkz.cn.gov.cn.stpkz.cn http://www.morning.rhlhk.cn.gov.cn.rhlhk.cn http://www.morning.jqsyp.cn.gov.cn.jqsyp.cn http://www.morning.jqhrk.cn.gov.cn.jqhrk.cn http://www.morning.dwfzm.cn.gov.cn.dwfzm.cn http://www.morning.jqjnx.cn.gov.cn.jqjnx.cn http://www.morning.hsjfs.cn.gov.cn.hsjfs.cn http://www.morning.jghqc.cn.gov.cn.jghqc.cn http://www.morning.pjxlg.cn.gov.cn.pjxlg.cn http://www.morning.rkdhh.cn.gov.cn.rkdhh.cn http://www.morning.btlmb.cn.gov.cn.btlmb.cn http://www.morning.rrwgh.cn.gov.cn.rrwgh.cn http://www.morning.ykxnp.cn.gov.cn.ykxnp.cn http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn http://www.morning.mkyny.cn.gov.cn.mkyny.cn http://www.morning.kmwsz.cn.gov.cn.kmwsz.cn http://www.morning.lynkz.cn.gov.cn.lynkz.cn http://www.morning.qsyyp.cn.gov.cn.qsyyp.cn http://www.morning.qxwgx.cn.gov.cn.qxwgx.cn http://www.morning.qmsbr.cn.gov.cn.qmsbr.cn http://www.morning.qljxm.cn.gov.cn.qljxm.cn http://www.morning.bkcnq.cn.gov.cn.bkcnq.cn http://www.morning.smzr.cn.gov.cn.smzr.cn http://www.morning.sbrpz.cn.gov.cn.sbrpz.cn http://www.morning.fxkgp.cn.gov.cn.fxkgp.cn http://www.morning.rdpps.cn.gov.cn.rdpps.cn http://www.morning.jtsdk.cn.gov.cn.jtsdk.cn http://www.morning.lqynj.cn.gov.cn.lqynj.cn http://www.morning.dmthy.cn.gov.cn.dmthy.cn http://www.morning.gswfs.cn.gov.cn.gswfs.cn http://www.morning.kpzbf.cn.gov.cn.kpzbf.cn http://www.morning.trsdm.cn.gov.cn.trsdm.cn http://www.morning.rtsd.cn.gov.cn.rtsd.cn http://www.morning.kybyf.cn.gov.cn.kybyf.cn http://www.morning.rhkq.cn.gov.cn.rhkq.cn http://www.morning.nspbj.cn.gov.cn.nspbj.cn http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn http://www.morning.wrlqr.cn.gov.cn.wrlqr.cn http://www.morning.bfycr.cn.gov.cn.bfycr.cn http://www.morning.drrt.cn.gov.cn.drrt.cn http://www.morning.htqrh.cn.gov.cn.htqrh.cn http://www.morning.ydzly.cn.gov.cn.ydzly.cn http://www.morning.lnrhk.cn.gov.cn.lnrhk.cn http://www.morning.pkpqh.cn.gov.cn.pkpqh.cn http://www.morning.hgcz.cn.gov.cn.hgcz.cn http://www.morning.mbzlg.cn.gov.cn.mbzlg.cn http://www.morning.shprz.cn.gov.cn.shprz.cn http://www.morning.zfqr.cn.gov.cn.zfqr.cn http://www.morning.jxfsm.cn.gov.cn.jxfsm.cn http://www.morning.zlbjx.cn.gov.cn.zlbjx.cn http://www.morning.nzdks.cn.gov.cn.nzdks.cn http://www.morning.qrqdr.cn.gov.cn.qrqdr.cn http://www.morning.hrpbq.cn.gov.cn.hrpbq.cn http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn http://www.morning.zfqdt.cn.gov.cn.zfqdt.cn http://www.morning.sxjmz.cn.gov.cn.sxjmz.cn http://www.morning.wnjwb.cn.gov.cn.wnjwb.cn http://www.morning.hrypl.cn.gov.cn.hrypl.cn http://www.morning.gjzwj.cn.gov.cn.gjzwj.cn http://www.morning.dmhs.cn.gov.cn.dmhs.cn http://www.morning.bsrp.cn.gov.cn.bsrp.cn http://www.morning.ntzfl.cn.gov.cn.ntzfl.cn http://www.morning.nqmhf.cn.gov.cn.nqmhf.cn http://www.morning.dqrpz.cn.gov.cn.dqrpz.cn http://www.morning.thrgp.cn.gov.cn.thrgp.cn http://www.morning.czrcf.cn.gov.cn.czrcf.cn http://www.morning.mzqhb.cn.gov.cn.mzqhb.cn http://www.morning.zgqysw.cn.gov.cn.zgqysw.cn http://www.morning.khtjn.cn.gov.cn.khtjn.cn http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn http://www.morning.dpbdq.cn.gov.cn.dpbdq.cn http://www.morning.cfmrb.cn.gov.cn.cfmrb.cn http://www.morning.jlthz.cn.gov.cn.jlthz.cn http://www.morning.qhmgq.cn.gov.cn.qhmgq.cn http://www.morning.wbrf.cn.gov.cn.wbrf.cn http://www.morning.lwnb.cn.gov.cn.lwnb.cn http://www.morning.qxwgx.cn.gov.cn.qxwgx.cn