Javascript TypeError:NodeEmailer.createTransport不是函数

Javascript TypeError:NodeEmailer.createTransport不是函数,javascript,node.js,express,node-modules,nodemailer,Javascript,Node.js,Express,Node Modules,Nodemailer,我正在尝试在我的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:

我正在尝试在我的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('/');
    }
})
var express=require('express');
var nodemailer=require('node-mailer');
var-app=express();
应用程序发布('/contact/send',功能(请求、回复){
var transporter=nodeEmailer.createTransport({
服务:“Gmail”,
认证:{
用户:“myEmailIdHere”,
密码:“我的密码”
}
});
var mailpoptions={
发件人:'我的名字',
致:“myOtherEmailIdHere”,
主题:'网站提交',
text:'您有一份包含以下详细信息的提交…名称:'+req.body.Name+'电子邮件:'+req.body.Email+'消息:'+req.body.Message,
html:“您有一个包含以下详细信息的提交…

  • 名称:“+req.body.Name+”
  • 电子邮件:“+req.body.Email+”
  • 消息:“+req.body.Message+”
  • ” }; transporter.sendMail(邮件选项,函数(错误,信息){ 如果(错误){ console.log(错误); res.redirect('/'); }否则{ console.log('发送的消息:'+信息响应); res.redirect('/'); } })
提交表单后,我得到的错误如下

“TypeError:NodeEmailer.createTransport不是函数”

有人能帮我找出如何使代码与NodeEmailr一起工作吗?

node mailer
是两个不同的模块。您应该使用正确的模块

var nodemailer = require('nodemailer');
另外,请确保使用
npm i
节点邮件程序安装的节点邮件程序是两个不同的模块。您应该使用正确的模块

var nodemailer = require('nodemailer');
另外,确保nodemailer是使用
npmi

安装的

npm install node-mailer --save
这是哪个图书馆:

当您尝试遵循此库的说明时:

让您的代码正常工作

npm install nodemailer --save
然后需要模块作为

var nodemailer = require('nodemailer')
不要在节点mailer之间加连字符,因为这是一个不同的模块。

您似乎已经这样做了

npm install node-mailer --save
这是哪个图书馆:

当您尝试遵循此库的说明时:

让您的代码正常工作

npm install nodemailer --save
然后需要模块作为

var nodemailer = require('nodemailer')
不要在节点mailer之间放置连字符,因为它是另一个模块。

使用此选项 var nodemailer=require('nodemailer');

使用此选项
var nodemailer=require('nodemailer');

当然,我会再次尝试使用nodemailer。是的,它成功了。非常感谢。现在它没有显示错误,但邮件仍然没有被发送。有任何错误/响应吗?再看看它说的“连接超时”,然后它显示了“Message sent:250 2.0.0 OK”。但是我没有通过我的gmail帐户收到邮件。当然,我会要求NodeEmailer再试一次。是的,它成功了。非常感谢。现在它没有显示错误,但邮件仍然没有发送。有任何错误/响应吗?再看看它说的“连接超时”,然后它显示了“Message sent:250 2.0.0 OK”。但是我没有通过我的gmail帐户收到邮件。我在package.json“node mailer”的dependentials中有这一行:“*”这是因为您可能首先安装了node mailer,但正如您提到的@sidgate一样,nodemailer工作正常,所以这就足够了。您可能还想看看node mailer的这个官员,了解有关nodemailer的任何进一步澄清。我只是将它从node mailer更改为nodemailer。现在它没有显示错误。但是我的电子邮件id上仍然没有收到邮件。是否还有其他错误?似乎是因为互联网速度太慢。它现在工作得非常好。我在package.json“node mailer”的dependencies中有这一行:“*”这是因为您可能首先安装了node mailer,但正如您提到的@sidgate一样,nodemailer工作正常,所以这就足够了。您可能还想看看node mailer的这个官员,了解有关nodemailer的任何进一步澄清。我只是将它从node mailer更改为nodemailer。现在它没有显示错误。但是我的邮箱id上还没有收到邮件。还有其他错误吗?看起来,只是网速太慢了。现在一切正常。