首页 > 解决方案 > nodemailer transporter.templateSender 函数未定义

问题描述

问题描述

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

现有代码

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");
      }
    }
  );
}

错误信息

UnhandledPromiseRejectionWarning: TypeError: transporter.templateSender is not a function

环境

谢谢您的帮助

标签: javascriptnode.jsnodemaileremail-templates

解决方案


推荐阅读