转自 Kindem 的博客,欢送转载,但要注明出处
???? 背景
忽然须要一个后端发送邮箱验证码的性能,我应用的后端框架是基于 Node.js
搭建的,所以筹备找一个适合的可能调用 SMTP
服务发送邮件的轮子。
一番寻找之后,我找到了 emailjs,上面简略介绍一下用法。
???? 装置
最经典的 npm/yarn
装置:
# Yarn
yarn add emailjs
# Npm
npm install emailjs
???? 配置邮箱
接下来须要一个能够应用的邮箱账户,因为我不筹备以集体邮箱发送验证码,我应用了收费的 腾讯企业邮箱,注册了一个企业账户,当然你能够应用任意反对 SMTP
服务的邮箱。
接下来须要在邮箱后盾配置开启 SMTP
服务:
有一些邮箱对于三方客户端采取了高级的平安登录策略,不容许间接应用明码登录,而是应用 token
,腾讯企业邮箱就采取了这样的计划:
这时候咱们须要生成一个新的 token
用于 emailjs
应用 SMTP
服务:
复制客户端明码,筹备应用 emailjs
发送邮件。
???? Emailjs 应用
emailjs
是基于 SMTP
服务发送邮件的,咱们须要先查问对应邮箱服务器的 SMTP
服务端口与地址,腾讯企业邮箱有一个 配置指南,通过配置指南咱们能够失去以下信息:
SMTP
发送服务器地址:smtp.exmail.qq.com
- 端口号:
465
SSL
:开启
接下来编写 Node.js
代码:
const {SMTPClient} = require('emailjs');
const client = new SMTPClient({user: `${senderEmail}`,
password: `${password}`,
host: 'smtp.exmail.qq.com',
port: 465,
ssl: true
});
(async function () {
try {
await client.sendAsync({
text: 'Hello World!',
from: `${senderName} <${senderEmail}>`,
to: `${receiverEmail}`,
subject: 'Test Email'
});
} catch (e) {console.log(e);
}
})();
其中你须要替换这些变量:
${senderName}
:你想展现的笔名${senderEmail}
:你的发送邮箱${password}
:上一节申请的登录token
或邮箱明码${receiverEmail}
:接收者邮箱
接下来登录接收者邮箱,即可看到邮件发送胜利:
如果想理解更具体的用法,能够在 github
上查看 emailjs 更具体的文档。