我正在使用 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>'.
我是打字稿的新手,所以我真的不知道如何解决这些错误。有人有相同的经历吗?
在 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
}
})
我不确定这是否会解决您的问题,但您尝试一下,因为我的问题与您之前的问题相似。