Nodemailer Errore non Può Risolvere il problema

Ho un applicazione molto semplice, basta iniziare a sporcarmi le mani con nodemailer. Quando avvio l’app mi dà errore nel modulo stesso.

app.js:

const nodemailer = require('nodemailer');

const transporter = nodemailer.createTransport('smtps://me%40gmail.com:[email protected]');


var mailOptions = {
    from:    '"Me" <[email protected]>', //sender address
    to:      '[email protected], [email protected]', //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);
});

E ricevo questo errore:

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)

Davvero non so cosa succede qui.

InformationsquelleAutor A. Hickman | 2017-02-04



3 Replies
  1. 31

    Node.js versione 6+ è necessario. Controlla la tua versione Nodo con il seguente comando:

    node --version

    Se non sono almeno 6+ quindi è necessario eseguire l’aggiornamento.

    Si potrebbe essere visualizzato un altro messaggio di errore che richiede di effettuare il login al tuo account. In quel caso, vai alla tua casella di posta e verrà visualizzato un messaggio da Google con un link ad una pagina per l’impostazione di meno secure app permissions.

    • Gli utenti di Linux probabilmente utilizzare il comando nodejs --version per verificare la loro versione.
    • Impressionante, questo è il problema. Grazie mille!!
    • Per aggiornare il nodejs a v8.x: $ curl -sL deb.nodesource.com/setup_8.x | sudo -E bash $ sudo apt-get install -y nodejs
  2. 3

    Semplicemente Aggiungere questo nel pacchetto.file json.

    "engines": {
        "node": "6.9.4"    //You can use any version
      }

    Questo scaricherà automaticamente la versione nodo è di fornire. In questo modo non hai bisogno di aggiornare il tuo NodeJS ogni volta in un server.

  3. 1

    Nodemailer è compatibile con il Nodo versione 6 o superiore (come per https://nodemailer.com/about/#requirements)

    Quindi attenersi alla seguente procedura per aggiornare il nodo:

    1* sudo npm cache pulita -f

    2* sudo npm install-g n

    3* sudo n stabile

    4* sudo ln -sf /usr/local/n/versioni/node/5.4.1/bin/node /usr/bin/nodo (il testo in grassetto/versione dovrebbe essere installato durante la procedura di cui sopra.)

    ie se 8.1.1 è installato quindi fare sudo ln -sf /usr/local/n/versioni/node/8.1.1/bin/node /usr/bin/nodo

    nodo –v (Dovrebbe mostrare la versione aggiornata ora)

    Risposto qui Nodemailer di errore quando richiesto

Lascia un commento