
作为 SparkPost 的开发者倡导者,我编写了许多示例应用程序。我的背景主要是前端开发,因此我最擅长的语言是 JavaScript。多亏了 Node.js,我的后端开发能力也还不错。这是否意味着我现在是全栈开发者?
Node.js 简介
作为 SparkPost 的开发者倡导者,我编写了许多示例应用程序。我的背景主要是前端开发,所以我最强的语言是 JavaScript。感谢 Node.js,我也成为了一名不错的后端开发人员。说到示例应用程序,Node.js 也非常适合构建与 Flow Builder 集成的无服务器功能 - 就像我们的 Google Cloud Functions 和 Vision API 集成指南。这是否意味着我现在是全栈开发人员了?无论如何,对我而言,拥有一个优秀的 Node.js 的 SparkPost 客户端库非常重要。因此,我迅速参与并成为了一名贡献者(甚至在我被雇用之前)。
请让我帮助您在您的 Node.js 项目上开始使用 SparkPost 发送电子邮件。在深入了解 Node.js 的细节之前,您可能想了解 云基础设施中的电子邮件 API 基础知识 以及它们如何融入现代应用程序开发。
安装 & Setup
发送 Email
现在,您已经有了一个 SparkPost 实例,您可以准备发送了。虽然有很多的发送选项,但让我们从一个简单的例子开始。这是如何向单个收件人发送电子邮件并指定内联内容的方法:
注意:这个例子使用了 Promises,但别担心。我们也支持回调函数。
对于需要全面电子邮件管理的企业应用程序,开发人员可能还需要考虑构建电子邮件存档系统来处理存储和合规要求。
传输还有更多可用选项,包括指定存储模板或收件人列表、抄送和密件抄送、添加附件、指定活动、使用替换数据等等。查看示例、Transmissions 资源文档和Transmissions API 文档了解更多信息。
奖励:使用 Nodemailer 发送电子邮件
Nodemailer 是一个流行的Node.js库,使发送电子邮件“轻而易举。” 对于选择使用这个库的用户,我们创建了一个SparkPost transport for Nodemailer。您需要在项目中安装nodemailer和nodemailer-sparkpost-transport软件包。
> npm install nodemailer nodemailer-sparkpost-transport --save
现在您可以创建一个nodemailer transport实例:
请注意我如何从环境变量中读取API Key。最好始终不要直接在代码中放置它。
有几个选项可以传递给SparkPost transport,比如campaign id以及消息是否为事务性的。查看README.md获取所有选项。
这是您将使用Nodemailer发送相同消息的方法:
双重奖励:使用 notif.me 发送 Email
我们都知道电子邮件是沟通之王,但有时您希望能够通过多种渠道与人联系。notif.me 是一个用于发送各种事务性消息的 Node.js 库。无论您是想发送电子邮件、短信、推送还是网页推送,您都可以轻松完成。它还为多个提供商内建了降级和轮询策略。我们最近与创作者合作,构建了一个 SparkPost 提供商。您需要在您的项目中安装 `notifme-sdk` 包。
> npm install notifme-sdk --save
您现在可以使用 SparkPost 提供商创建一个 notifme 实例:
同样,我们从环境变量中提取 API Key。我们已经说过三次了——这很重要。🙂
现在让我们重复这个相同的例子,这次使用 notif.me:
它真的很容易使用,我建议查看其他功能。
没有错误的方式去 Node
当涉及使用Node.js发送电子邮件时,你有很多选择。我们已经尽力让它尽可能简单。