0

我在使用我在nodejs中开发的smtp进行nodemailer传输时遇到问题,它在本地服务器和正确发送的电子邮件中没有问题,但是当我将它们码头化并部署到AWS ECS时,API仍然返回状态200而没有任何错误但电子邮件不会发送给客户的电子邮件。我该如何克服这个问题?我也尝试了端口 25 和 465,但仍然没有向客户电子邮件发送任何内容。

const transporter = await nodemailer.createTransport({
        host: 'smtp.office365.com',
        port: 587,
        auth: {
            user: 'email@company.com.my',
            pass: 'password'
        },
    })
    const templates = new EmailTemplates()
    await templates.render(template, context, async (err, html, text, subject) => {
        await transporter.sendMail({
            from: '"Company Name" <email@company.com.my>',
            to: email,
            subject: subjects,
            html: html,
            text: text
        }).then(() => {
            console.log(`Email sent to ${email}`)
        }).catch((err) => {
            console.log('error: ', err)
        })
    })

起初我虽然是 nodemailer 问题,但是当我测试运行我的本地 docker 映像时,它返回一个错误

/srv/node_modules/html-to-text/lib/whitespace-processor.js:11

.map(c => '\\u' + c.charCodeAt(0).toString(16).padStart(4, '0'))

^


TypeError: c.charCodeAt(...).toString(...).padStart is not a function

at map.c (/srv/node_modules/html-to-text/lib/whitespace-processor.js:11:52)

at Array.map (native)

at charactersToCodes (/srv/node_modules/html-to-text/lib/whitespace-processor.js:11:6)

at new WhitespaceProcessor (/srv/node_modules/html-to-text/lib/whitespace-processor.js:32:29)

at new BlockTextBuilder (/srv/node_modules/html-to-text/lib/block-text-builder.js:28:31)

at htmlToText (/srv/node_modules/html-to-text/lib/html-to-text.js:146:19)

at Object.fromString (/srv/node_modules/html-to-text/lib/html-to-text.js:289:44)

at /srv/node_modules/swig-email-templates/index.js:50:29

at FSReqWrap.cb [as oncomplete] (fs.js:260:19)

我想知道实际的错误是什么以及如何解决这个 html-to-text 错误?

4

0 回答 0