nodemailer Transporter.templateSender 函数未定义

Ari*_*ult 6 javascript email-templates node.js nodemailer

问题描述

你好,我正在尝试使用nodemailer的外部渲染器功能来使用html模板。因此,我为我的模板引擎导入 nodemailer 和 EmailTemplates,该引擎将是 pug。我使用适当的凭据创建我的传输器。
要创建模板基本发送器函数,我必须使用传输器的 templateSender 函数,该函数显然不存在,因为我收到未定义的函数错误。
此过程的文档链接: https: //community.nodemailer.com/2-0-0-beta/templated/
有人遇到过这个问题吗?也许这是一个问题,如果是的话,我会提交一个问题,但我更喜欢检查我的代码是否不是实际问题。

现有代码

import nodemailer from "nodemailer";
import EmailTemplate from "email-templates";

export default async function(userMail, typeOfMail, link) {
  const transporter = nodemailer.createTransport({
    port: process.env.SMTP_PORT,
    host: process.env.SMTP_SERVER_NAME,
    auth: {
      user: process.env.SMTP_USER,
      pass: process.env.SMTP_PASS
    }
  });
  console.log(transporter.templateSender)
  const sendAccountValidation = transporter.templateSender(
    new EmailTemplate("../email_templates/account_validation"),
    {
      from: process.env.SMTP_USER
    }
  );
  sendPwdReminder(
    {
      to: "dest@email.com",
      subject: "subject"
    },
    function(err, info) {
      if (err) {
        console.log("Error");
      } else {
        console.log("Password reminder sent");
      }
    }
  );
}

Run Code Online (Sandbox Code Playgroud)

错误信息

UnhandledPromiseRejectionWarning: TypeError: transporter.templateSender is not a function

环境

  • 码头工人
  • 节点邮件程序:“^6.2.1”
  • 电子邮件模板:“^6.0.2”

谢谢您的帮助