首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nodemailer错误无法修复

Nodemailer错误无法修复
EN

Stack Overflow用户
提问于 2017-02-05 05:10:14
回答 3查看 11.3K关注 0票数 20

我有一个非常简单的应用程序,刚刚开始接触nodemailer。当我运行应用程序时,我在模块本身中得到错误。

app.js:

代码语言:javascript
复制
const nodemailer = require('nodemailer');

const transporter = nodemailer.createTransport('smtps://me%40gmail.com:supersecretpw@smtp.gmail.com');


var mailOptions = {
    from:    '"Me" <me@gmail.com>', // sender address
    to:      'him@him.com, her@her.com', // list of receivers
    subject: 'Hello dude', // Subject line
    text:    'Test email with text', // plaintext body
    html:    "Testing 1..2..7" // html body
};

// send mail with defined transport object
transporter.sendMail(mailOptions, function (error, info) {
    if (error) {
        return console.log(error);
    }
    console.log('Message sent: ' + info.response);
});

我得到了这个错误:

代码语言:javascript
复制
C:\Users\Andrew\desktop\messy4\node_modules\nodemailer\lib\mailer\index.js:31
            compile: [(...args) => this._convertDataImages(...args)],
                       ^^^

SyntaxError: Unexpected token ...
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:387:25)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (C:\Users\Andrew\desktop\messy4\node_modules\nodemailer\lib\nodemailer.js:3:16)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)

我真的不知道这里发生了什么。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-05 05:27:14

需要Node.js版本的6+。使用以下命令检查您的Node版本:

node --version

如果你不是6+以上的用户,那么你必须升级。

您可能会收到另一条错误消息,指示您登录到您的帐户。在这种情况下,打开你的电子邮件收件箱,你会看到一条来自谷歌的消息,其中包含一个链接,指向一个页面,用于设置不太安全的应用程序权限。

票数 31
EN

Stack Overflow用户

发布于 2017-03-15 04:59:32

只需将此代码添加到您的package.json文件中。

代码语言:javascript
复制
"engines": {
    "node": "6.9.4"    // You can use any version
  }

这将自动下载您提供的节点版本。通过这种方式,你不需要每次在服务器上升级你的NodeJS。

票数 3
EN

Stack Overflow用户

发布于 2017-08-02 06:17:32

Node version兼容Node版本6或更高版本的(根据https://nodemailer.com/about/#requirements)

因此,请按照以下步骤升级节点:

1* sudo npm缓存清理-f

2* sudo npm install -g n

3* sudo n稳定

4* sudo ln -sf /usr/local/n/versions/node/5.4.1/bin/node /usr/bin/-sf(粗体文本/版本应为上述步骤中安装的版本。)

如果安装了8.1.1,则执行sudo bin -sf /usr/local/n/versions/node/8.1.1/bin/node /usr/-sf/node

node -v(现在应该显示更新的版本)

在这里也回答了Nodemailer error when required

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42045637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档