我正在使用 Nodemailer,但我只能向传输器发送电子邮件

I am using Nodemailer but I can only send emails to transporter

我刚刚从nodemailer页面复制了大部分示例代码来测试它,但我只能向传输器发送电子邮件。如果我在 mailOptions 中更改“to”电子邮件,它只会更改 to 之后的字符串并将其发送到传输帐户。我尝试使用 gmail 帐户,但仍然存在同样的问题。 nodemailer 站点上没有更多文档。不是应该用transporter账号给其他账号发邮件吗?

当我希望它们转到 kraig.nader71@ethereal.email

时,所有电子邮件都会转到 kathleen.gleichner72@ethereal.email
const express = require('express')
const bodyParser = require('body-parser')
const nodemailer = require('nodemailer')
const app = express()

app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: false}))

app.post('/api/form', (req, res) => {
    nodemailer.createTestAccount((err, account) => {
        const htmlEmail = `
        <h3>Contact Details</h3>
        <ul>
            <li>Name: ${req.body.name}</li>
            <li>Email: ${req.body.email}</li>
        </ul>
        <h3>Message</h3>
        <p>${req.body.message}</p>
        `
        let transporter = nodemailer.createTransport({
            host: 'smtp.ethereal.email',
            port: '587',
            auth: {
                user: 'kathleen.gleichner72@ethereal.email',
                pass: 'VKGKReZW5Mhwz1yKAY'
            }
        })
        let mailOptions = {
            from: 'test@testaccount.com',
            to: 'kraig.nader71@ethereal.email',
            subject: 'New Message',
            text: req.body.message,
            html: htmlEmail
        }
        transporter.sendMail(mailOptions, (err, info) => {
            if (err) {
                return console.log(err)
            }
            console.log('Message sent: %s', info.message )
            console.log('Message URL: %s', nodemailer.getTestMessageUrl(info) )
        })
    })
})

const PORT = process.env.PORT || 3001

app.listen(PORT, () =>{
    console.log(`listening on port ${PORT}`)
})

您需要寻找 smtp 提供商。

host: 'smtp.ethereal.email',
port: '587',

这部分也要改。 如您所见,它使用 nodemailer 的模板 smtp 服务器。