如何解决我正在使用Nodemailer,但只能将电子邮件发送到运输商
我只是从nodemailer页面复制了大多数示例代码来对其进行测试,但是我只能将电子邮件发送给传输器。如果我在mailOptions中更改“至”电子邮件,则只需将字符串更改为至,然后将其发送到运输者帐户。我尝试使用gmail帐户,但仍然存在相同的问题。在nodemailer站点上没有更多文档。是否应该使用运输者帐户向其他帐户发送电子邮件?
当我希望所有电子邮件都发送到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服务器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。