Nuxt 3 Nodemailer 模块 Elasticmail 配置错误。 “没有超载匹配此调用。”

问题描述 投票:0回答:1

我正在使用 nodemailer 模块将 elasticmail 集成到我的应用程序中。这是我的配置

const config = useRuntimeConfig()
const transporter = nodemailer.createTransport({
  host: config.apiSecret.MAIL_SERVER,
  port: config.apiSecret.MAIL_PORT,
  auth: {
    user: config.apiSecret.MAIL_USER,
    pass: config.apiSecret.MAIL_PASSWORD
  }
})

问题是,我在

host
属性上看到这个错误

No overload matches this call. The last overload gave the following error. Argument of type '{ host: string; port: string; auth: { user: string; pass: string; }; }' is not assignable to parameter of type 'TransportOptions | Transport<unknown>'. Object literal may only specify known properties, and 'host' does not exist in type 'TransportOptions | Transport<unknown>'.

我是打字稿的新手,所以我真的不知道如何解决这些错误。有人有相同的经历吗?

nuxt.js nuxtjs3 nuxt3
1个回答
0
投票

在 API 路由上使用 typescript 之前,我遇到了与 nodemailer 模块相同的问题。

我的问题通过将主机更改为纯字符串来解决。而不是使用

useRuntimeConfig
可组合的
port
相同的东西。你的运输价值会是这样的。

const config = useRuntimeConfig()
    const transporter = nodemailer.createTransport({
        host: "smtp.elasticemail.com",
        port: 2525,
        auth: {
            user: config.apiSecret.MAIL_USER,
            pass: config.apiSecret.MAIL_PASSWORD
        }
    })

我不确定这是否会解决您的问题,但您尝试一下,因为我的问题与您之前的问题相似。

© www.soinside.com 2019 - 2024. All rights reserved.