问题描述
我只是从nodemailer页面复制了大多数示例代码来对其进行测试,但是我只能将电子邮件发送给传输器。如果我在mailOptions中更改“至”电子邮件,则只需将字符串更改为至,然后将其发送到运输者帐户。我尝试使用gmail帐户,但仍然存在相同的问题。在nodemailer站点上没有更多文档。是否应该使用运输者帐户向其他帐户发送电子邮件?
当我希望所有电子邮件都发送到[email protected]时,所有电子邮件都将发送到[email protected]
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: '[email protected]',pass: 'VKGKReZW5Mhwz1yKAY'
}
})
let mailOptions = {
from: '[email protected]',to: '[email protected]',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服务器。