如何使用nodejs自动发送邮件

发布时间:2021-07-19 10:31:36 作者:chen
来源:亿速云 阅读:138

这篇文章主要介绍“如何使用nodejs自动发送邮件”,在日常操作中,相信很多人在如何使用nodejs自动发送邮件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用nodejs自动发送邮件”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

实现方案

实现自动发送邮件笔者采用了基于Nodejs生态的nodemailer, 它可以轻松的帮我们发送电子邮件, 官网地址: nodemailer.

如何使用nodejs自动发送邮件

之所以选择nodemailer是因为它提供了非常灵活的自定义配置和安全保障, 比如:

还有很多特点笔者就不一一介绍了. 接下来我们来看一个笔者简化并翻译的官网案例:

"use strict"; const nodemailer = require("nodemailer");  // 使用async..await 创建执行函数 async function main() {   // 如果你没有一个真实邮箱的话可以使用该方法创建一个测试邮箱   let testAccount = await nodemailer.createTestAccount();    // 创建Nodemailer传输器 SMTP 或者 其他 运输机制   let transporter = nodemailer.createTransport({     host: "smtp.ethereal.email", // 第三方邮箱的主机地址     port: 587,     secure: false, // true for 465, false for other ports     auth: {       user: testAccount.user, // 发送方邮箱的账号       pass: testAccount.pass, // 邮箱授权密码     },   });    // 定义transport对象并发送邮件   let info = await transporter.sendMail({     from: '"Dooring ?" <dooring2021@163.com>', // 发送方邮箱的账号     to: "bar@example.com, baz@example.com", // 邮箱接受者的账号     subject: "Hello Dooring", // Subject line     text: "H5-Dooring?", // 文本内容     html: "欢迎注册h6.dooring.cn, 您的邮箱验证码是:<b>${emailCode}</b>", // html 内容, 如果设置了html内容, 将忽略text内容   }); }  main().catch(console.error);

以上代码是发送带有纯文本和HTML正文的电子邮件的完整示例. 笔者在代码上做了详细的翻译, 我们可以总结出要想发送邮件, 我们需要如下3个步骤:

宏观的使用流程我们知道了, 接下来我们落实到每一个技术功能点来实现.我们需要关注如下几个核心点:

解答了以上3个问题, 我们就能灵活的使用Nodemailer发送自定义邮件了.

如何设置host, port, secure

这里笔者拿网易邮箱来举例. 比如我们想用我们自己的网易邮箱给用户发送邮件, 我们需要先注册一个用于发送邮件的网易邮箱,  比如dooring2021@163.com. 由于我们采用SMTP传输器 , 所以在邮箱主页我们找到如下选项并设置:

如何使用nodejs自动发送邮件

在该页面下方我们可以找到对应的host, 如下:

如何使用nodejs自动发送邮件

关于port和secure, 我们采用默认配置即可, 设置secure为true,表示端口默认使用465. 详细配置如下:

如何使用nodejs自动发送邮件

如何设置auth

auth我们在上一步的操作中已经涉及到了, 我们在开启IMAP/SMTP服务时会提示保存邮箱授权码, 这里的授权码就是auth.pass的值,  auth.user表示当前授权的邮箱.

如何设置Message

消息配置是我们邮箱服务比较重要的部分, 官方提供了如下几个配置说明:

如何使用nodejs自动发送邮件

这里笔者给大家详细介绍一下:

熟悉了以上配置之后我们基本可以配置满足80%场景的邮件发送需求了. 这里我们来看一个设置Message的简单案例:

await transporter.sendMail({   from: '"v6.dooring" <dooring2021@163.com>', // sender address   to: 'xujiang156@qq.com', // list of receivers   subject: 'welcome to use dooring', // Subject line   text: 'Hello world?', // plain text body   html: `欢迎注册v6.dooring, 您的邮箱验证码是:<b>${emailCode}</b>`, // html body })

该案例是使用dooring邮箱给一个普通用户发送邮箱验证码的场景, 是不是很熟悉呢? 这个场景目前被应用在很多登录注册相关的场景中.  接下来看看实际的效果:

如何使用nodejs自动发送邮件

到此,关于“如何使用nodejs自动发送邮件”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. 使用nodejs怎么实现微信自动回复
  2. 使用Python怎么自动发送邮件

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

nodejs

上一篇:使用数据库分区的原因及好处是什么

下一篇:python中PaddleOCR库的用法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》