TypeError:nodemailer.createTransport不是一个函数
我正在尝试在我的nodejs应用程序中实施nodemailer来发送电子邮件。
这是我的代码
var express = require('express'); var nodemailer = require('node-mailer'); var app = express(); app.post('/contact/send', function(req, res) { var transporter = nodemailer.createTransport({ service: 'Gmail', auth: { user: 'myEmailIdHere', pass: 'myPassword' } }); var mailOptions = { from: 'myName <myEmailIdHere>', to: 'myOtherEmailIdHere', subject: 'Website Submission', text: 'You have a submission with the following details... Name: ' + req.body.name + ' Email: ' + req.body.email + ' Message: ' + req.body.message, html: '<p>You have a submission with the following details...</p><ul><li>Name: ' + req.body.name + '</li><li>Email: ' + req.body.email + '</li><li>Message: ' + req.body.message + '</li></ul>' }; transporter.sendMail(mailOptions, function(error, info) { if (error) { console.log(error); res.redirect('/'); } else { console.log('Message Sent: ' + info.response); res.redirect('/'); } })
提交表单后,我收到错误
“TypeError:nodemailer.createTransport不是一个函数”
有人可以帮我弄清楚如何使代码与nodemailer一起工作吗?
使用这个var nodemailer = require('nodemailer');
nodemailer
和node-mailer
是两个不同的模块。 你应该使用正确的。
var nodemailer = require('nodemailer');
另外,确保使用npm i
来安装nodemailer
似乎你已经完成了
npm install node-mailer --save
这是这个库: https : //www.npmjs.com/package/node-mailer
当你试图按照这个库的说明: https : //www.npmjs.com/package/nodemailer
为你的代码工作吗
npm install nodemailer --save
然后需要模块
var nodemailer = require('nodemailer')
不要在节点邮件之间添加连字符,它是一个不同的模块。