📜  发送电子邮件 sgMail - Javascript (1)

📅  最后修改于: 2023-12-03 15:22:55.380000             🧑  作者: Mango

使用 sgMail 发送电子邮件 - Javascript

sgMail 是一个适用于 Javascript 的强大的电子邮件发送模块。它基于 SendGrid API 构建,帮助您轻松地设置电子邮件通知、欢迎邮件、密码重置等邮件应用。

安装 sgMail
npm install @sendgrid/mail
配置 API 密钥

使用 sgMail,您需要先配置 SendGrid 的 API 密钥。在您的 SendGrid 仪表板中生成一个 API 密钥,然后将其添加到您的项目中。

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey('YOUR_SENDGRID_API_KEY');
发送电子邮件

使用 sgMail 发送电子邮件只需要几行代码。以下是一个示例:

const msg = {
  to: 'recipient@example.com', // 收件人地址
  from: 'sender@example.com', // 发件人地址
  subject: 'Hello from sgMail', // 邮件主题
  text: 'Hello World!', // 纯文本邮件正文
  html: '<p>Hello World!</p>', // HTML 格式的邮件正文
};

sgMail.send(msg)
  .then(() => console.log('Email sent'))
  .catch((error) => console.error(error));
发送附件

您可以使用 sgMail 发送带有附件的邮件。以下是一个带有附件的示例:

const msg = {
  to: 'recipient@example.com', // 收件人地址
  from: 'sender@example.com', // 发件人地址
  subject: 'Hello from sgMail', // 邮件主题
  text: 'Hello World!', // 纯文本邮件正文
  html: '<p>Hello World!</p>', // HTML 格式的邮件正文
  attachments: [
    {
      content: 'aGVsbG8gd29ybGQh', // Base64 编码的文件内容
      filename: 'hello.txt', // 附件名称
      type: 'text/plain', // 附件类型
      disposition: 'attachment', // 附件的显示方式(inline 或 attachment)
    },
  ],
};

sgMail.send(msg)
  .then(() => console.log('Email sent'))
  .catch((error) => console.error(error));
自定义电子邮件模板

sgMail 还支持自定义电子邮件模板。您可以将 HTML 文件或字符串作为模板,并使用 SendGrid 的动态模板语言填充变量和逻辑。

以下是一个自定义电子邮件模板的示例:

const msg = {
  to: 'recipient@example.com', // 收件人地址
  from: 'sender@example.com', // 发件人地址
  templateId: 'YOUR_TEMPLATE_ID', // 模板 ID
  dynamicTemplateData: {
    subject: 'Hello from sgMail', // 邮件主题(变量)
    name: 'John', // 收件人姓名(变量)
  },
};

sgMail.send(msg)
  .then(() => console.log('Email sent'))
  .catch((error) => console.error(error));
总结

sgMail 是一个功能强大的电子邮件发送模块,适用于 Javascript。使用 sgMail,您可以轻松地设置电子邮件通知、欢迎邮件、密码重置等邮件应用。它易于安装和配置,并支持发送附件和自定义电子邮件模板。如果您正在开发使用电子邮件功能的 Web 应用程序,sgMail 是一个值得尝试的工具。