• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

使用 Emailjs 发送邮件

互联网 diligentman 2周前 (01-14) 6次浏览

转自 Kindem的博客,欢迎转载,但要注明出处

💡 背景

突然需要一个后端发送邮箱验证码的功能,我使用的后端框架是基于 Node.js 搭建的,所以准备找一个合适的能够调用 SMTP 服务发送邮件的轮子。

一番寻找之后,我找到了 emailjs,下面简单介绍一下用法。

📦 安装

最经典的 npm/yarn 安装

# Yarn
yarn add emailjs

# Npm
npm install emailjs

📮 配置邮箱

接下来需要一个可以使用的邮箱账户,因为我不准备以个人邮箱发送验证码,我使用了免费的 腾讯企业邮箱,注册了一个企业账户,当然你可以使用任意支持 SMTP 服务的邮箱。

接下来需要在邮箱后台配置开启 SMTP 服务:

使用 Emailjs 发送邮件

有一些邮箱对于三方客户端采取了高级的安全登录策略,不允许直接使用密码登录,而是使用 token,腾讯企业邮箱就采取了这样的方案:

使用 Emailjs 发送邮件

这时候我们需要生成一个新的 token 用于 emailjs 使用 SMTP 服务:

使用 Emailjs 发送邮件

复制客户端密码,准备使用 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}:接收者邮箱

接下来登录接收者邮箱,即可看到邮件发送成功:

使用 Emailjs 发送邮件

如果想了解更详细的用法,可以在 github 上查看 emailjs 更详细的文档。


喜欢 (0)