# @emailjs/nodejs 中文文档

规范地址：https://npmcn.com/package/%40emailjs/nodejs/

版本：5\.0\.2
npm 元数据更新时间：2024-10-21T16:01:22.854Z
中文译文更新时间：2026-11-13T14:30:09.612Z
软件包许可：BSD-3-Clause

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40emailjs/nodejs
原文对照：https://npmcn.com/package/%40emailjs/nodejs/?lang=original
项目主页：https://www.emailjs.com/
源码仓库：https://github.com/emailjs-com/emailjs-nodejs

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：35.6 kB，64 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=18\.0\.0
- 运行依赖：0 个
- 首次发布：2022-11-02T15:15:13.408Z
- 最新版本发布：2024-10-21T16:01:22.633Z
- 近 30 天下载量：32431（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：13（近 12 个月 0 个）

## 中文简介

节点JS的官方电子邮件 JS SDK

## 安装

```sh
npm install @emailjs/nodejs
```

也可以使用：`pnpm add @emailjs/nodejs`、`yarn add @emailjs/nodejs`、`bun add @emailjs/nodejs`

## README

# 官方电子邮件 JS SDK for Node.js

SDK 为 [电子邮件JS.com](https://www.emailjs.com/) 顾客.  
使用您的电子邮件JS 账户发送邮件 .

[![codecov](https://codecov.io/gh/emailjs-com/emailjs-nodejs/branch/main/graph/badge.svg)](https://codecov.io/gh/emailjs-com/emailjs-nodejs) [![npm version](https://img.shields.io/npm/v/@emailjs/nodejs.svg)](https://www.npmjs.com/package/@emailjs/nodejs)

## 免责声明

这是Node.js平台,否则使用

-   [浏览器 SDK](https://www.npmjs.com/package/@emailjs/browser)
-   [原生反应](https://www.npmjs.com/package/@emailjs/react-native)
-   [小蝶头](https://pub.dev/packages/emailjs)
-   [(原始内容存档于2013-10-12) (英语). REST API](https://www.emailjs.com/docs/rest-api/send/)

## 链接

[官方 SDK 文档](https://www.emailjs.com/docs)

## 介绍

电子邮件JS帮助您直接从一个命令的代码发送电子邮件. 不需要大的知识 – 只要将 EmailJS 连接到被支持的其中之一 电子邮件服务, 创建电子邮件模板, 并使用我们的 SDK 触发电子邮件.

## 使用量

使用 EmailJS SDK 安装电子邮件 [无](https://www.npmjs.com/package/@emailjs/nodejs)数字 :

```bash
$ npm install @emailjs/nodejs
```

**_说明_**:默认情况下,对于非浏览器应用程序,API请求被禁用. 你需要通过激活它们 [账户:安全](https://dashboard.emailjs.com/admin/account/security)。 。 。 .

## 财务问题

#### 非浏览器应用程序的 API 呼叫已禁用

您需要激活 API 请求 结束 [账户:安全](https://dashboard.emailjs.com/admin/account/security)。 。 。 .

## 实例

### ECMAScript 模块

**使用定制的发送方法发送电子邮件**

```js
import emailjs from '@emailjs/nodejs';

const templateParams = {
  name: 'James',
  notes: 'Check this out!',
};

emailjs
  .send('YOUR_SERVICE_ID', 'YOUR_TEMPLATE_ID', templateParams, {
    publicKey: 'YOUR_PUBLIC_KEY',
    privateKey: 'YOUR_PRIVATE_KEY', // optional, highly recommended for security reasons
  })
  .then(
    (response) => {
      console.log('SUCCESS!', response.status, response.text);
    },
    (err) => {
      console.log('FAILED...', err);
    },
  );
```

**输入( 可选)**

```js
import emailjs from '@emailjs/nodejs';

// set Public Key as global settings
emailjs.init({
  publicKey: 'YOUR_PUBLIC_KEY',
  privateKey: 'YOUR_PRIVATE_KEY', // optional, highly recommended for security reasons
});

emailjs.send('YOUR_SERVICE_ID', 'YOUR_TEMPLATE_ID').then(
  (response) => {
    console.log('SUCCESS!', response.status, response.text);
  },
  (err) => {
    console.log('FAILED...', err);
  },
);
```

**使用电子邮件JS 错误处理器等待/同步**

```js
import emailjs, { EmailJSResponseStatus } from '@emailjs/nodejs';

try {
  await emailjs.send(
    'YOUR_SERVICE_ID',
    'YOUR_TEMPLATE_ID',
    {},
    {
      publicKey: 'YOUR_PUBLIC_KEY',
      privateKey: 'YOUR_PRIVATE_KEY', // optional, highly recommended for security reasons
    },
  );
  console.log('SUCCESS!');
} catch (err) {
  if (err instanceof EmailJSResponseStatus) {
    console.log('EMAILJS FAILED...', err);
    return;
  }

  console.log('ERROR', err);
}
```

## 配置

**选项**

可在全球范围内使用 **输入** 作为函数的第四个参数.  
本地参数的优先级将高于全球参数.

| 名称 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| 公钥 | 字符串 |  | 要求公用钥匙引用该方法. |
| 块列表 | 块列表 |  | 块列表设置. |
| 限制 | 限制 |  | 限制速率配置 . |
| 存储器 | 存储器 |  | 自定义密钥值存储的提供者 . |

**块列表**

如果被监视的变量包含块列表中的值,则允许忽略一个方法调用.  
如果请求被阻断, 该方法将返回错误 403 .

| 名称 | 类型 | 说明 |
| --- | --- | --- |
| 列表 | 字符串 \[\] | 字符串阵列包含要阻断的值 . |
| 可变可见 | 字符串 | 被监视变量的名称 . |

**限制**

允许设定调用方法的限速率 .  
如果请求达到极限速率,该方法会还原出错429.

| 名称 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| 编号 | 字符串 | 页面路径 | 限制率默认为每页. 要推翻行为,请设定ID. 它可以是每个页面,组,或应用程序的自定义ID. |
| 节流阀 | 数目 |  | _(单位:百万美元)_ 在数毫秒后, 允许下一个请求 . |

**存储器**

允许提供自定义密钥值存储 。 默认情况下,如果可用则使用本地Storage.  
自定义提供者必须匹配接口.

```ts
interface StorageProvider {
  get: (key: string) => Promise<string | null | undefined>;
  set: (key: string, value: string) => Promise<void>;
  remove: (key: string) => Promise<void>;
}
```

**宣布全局设置**

```js
import emailjs from '@emailjs/nodejs';

emailjs.init({
  publicKey: 'YOUR_PUBLIC_KEY',
  privateKey: 'YOUR_PRIVATE_KEY', // optional, highly recommended for security reasons
  blockList: {
    list: ['foo@emailjs.com', 'bar@emailjs.com'],
  },
  limitRate: {
    throttle: 10000, // 10s
  },
});
```

**覆盖本地设置**

```js
import emailjs from '@emailjs/nodejs';

const templateParams = {
  name: 'James',
  notes: 'Check this out!',
};

emailjs
  .send('YOUR_SERVICE_ID', 'YOUR_TEMPLATE_ID', templateParams, {
    publicKey: 'YOUR_PUBLIC_KEY',
    privateKey: 'YOUR_PRIVATE_KEY', // optional, highly recommended for security reasons
    blockList: {
      watchVariable: 'userEmail',
    },
    limitRate: {
      throttle: 0, // turn off the limit rate for these requests
    },
  })
  .then(
    (response) => {
      console.log('SUCCESS!', response.status, response.text);
    },
    (err) => {
      console.log('FAILED...', err);
    },
  );
```

## 常见问题

### @emailjs/nodejs 是什么？

节点JS的官方电子邮件 JS SDK

### 如何安装 @emailjs/nodejs？

在项目目录运行 npm install @emailjs/nodejs，或使用 pnpm add / yarn add / bun add。

### @emailjs/nodejs 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @emailjs/nodejs 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @emailjs/nodejs 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @emailjs/nodejs 可以商用吗？

@emailjs/nodejs 使用 BSD-3-Clause 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。另外不得用原作者名义为衍生产品背书。以上为概括，不构成法律意见，请以许可原文为准。

### @emailjs/nodejs 的下载量有多少？

根据 npm 官方下载统计，@emailjs/nodejs 在 2026/10/14 – 2026/11/12 这 30 天内被下载 32,431 次，日均约 1,081 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @emailjs/nodejs 还在维护吗？

最新版本 5\.0\.2 发布于 2024/10/22（2 年前）；至今共发布 13 个版本，其中过去 12 个月发布了 0 个；首次发布于 2022/11/02。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

