乐趣区

关于javascript:使用-Emailjs-发送邮件

转自 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 更具体的文档。

退出移动版