在前端开发中,邮件服务是一个非常常见而又重要的功能。而在 Node.js 端,为我们提供邮件服务的 npm 包也是琳琅满目。其中,@sendgrid/mail 包不仅提供了邮件发送的功能,而且还有强大的模板支持和邮件追踪功能。
本篇教程将详细介绍如何使用 @sendgrid/mail 包,同时提供相应的示例代码。
1. 安装
在命令行中输入以下命令进行安装:
npm install @sendgrid/mail
安装完成后,在需要使用该包的文件中引入:
const sgMail = require('@sendgrid/mail');
2. 配置
在使用 @sendgrid/mail 发送邮件前,需要先在 SendGrid 网站上注册账号,并创建 API Key。创建成功后,将该 Key 复制并粘贴到项目中,如下所示:
sgMail.setApiKey('your-sendgrid-api-key');
3. 发送基础邮件
使用 @sendgrid/mail 发送邮件,只需要两个步骤:
- 构造邮件内容。
const msg = { to: 'recipient@example.com', // 收件人 from: 'sender@example.com', // 发件人 subject: 'Sending with SendGrid is Fun', // 邮件主题 text: 'and easy to do anywhere, even with Node.js', // 邮件内容 };
可以看到,@sendgrid/mail 还支持 HTML 格式的邮件内容。
- 发送邮件。
sgMail.send(msg);
当然,@sendgrid/mail 还支持多个收件人、抄送、密送、附件等功能。
4. 发送模板邮件
@sendgrid/mail 支持使用自定义模板发送邮件。首先,需要在 SendGrid 网站上创建模板,然后可以按照以下步骤发送模板邮件:
- 使用 @sendgrid/mail 获取该模板的 ID。
const templateId = "your-sendgrid-template-id";
- 构造邮件内容。
-- -------------------- ---- ------- ----- --- - - --- ------------------------ -- --- ----- --------------------- -- --- ----------- ----------- -- -- -- -------------------- - -- --------- -------- -------- ---- -------- -- ----- ----- --------- - --
- 发送邮件。
sgMail.send(msg);
5. 邮件追踪
@sendgrid/mail 支持开启邮件追踪功能,以便及时了解邮件的处理情况。只需要在初始化配置时添加以下代码:
sgMail.setApiKey('your-sendgrid-api-key'); sgMail.setSubstitutionWrappers('{{', '}}'); // 自定义模板变量替换符号 sgMail.setClickTracking(true); // 开启邮件点击链接跟踪 sgMail.setOpenTracking(true); // 开启邮件打开追踪
6. 示例代码
下面是一个完整的邮件发送示例代码:
-- -------------------- ---- ------- ----- ------ - -------------------------- ------------------------------------------ ----- --- - - --- ------------------------ ----- --------------------- -------- -------- ---- -------- -- ----- ----- ---- ---- -- -- --------- ---- ---- --------- ----- ------------ ---- -- -- --------- ---- ---- ------------------ -- ---------------- -------- -- ---------------------- ------------ -- ----------------------
7. 总结
通过本篇教程,我们了解了如何使用 @sendgrid/mail 包发送基础邮件和模板邮件,还学习了如何开启邮件追踪功能。当然,@sendgrid/mail 包还提供了其他功能,可以自行查阅其文档。祝愿您使用愉快!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/109205