Nodemailer mit Gmail verwenden - Teil 02

Im ersten Teil ging es darum, die erforderlichen Token für eine XOAuth2 Authentifizierung für GMail zu generieren. In diesem Teil wird gezeigt, wie der Nodemailer installiert wird und dieser für die Nutzung von Gmail konfiguruiert wird.

Teil 01 - Gmail ClientID und Refresh Token erstellen

Nodemailer installieren

Installieren Sie zunächst die Pakete Nodemailer und xoauth2 mit folgenden Befehlen:

npm install nodemailer --save
npm install xoauth2 --save

Hinweis: Das Paket nodemailer-smtp-transport wird automatisch mit dem Paket Nodemailer installiert.

Anschließend können die erforderlichen Bibliotheken eingebunden werden und der Generator für XOAuth2 kann mit den Tokens aus dem ersten Teil konfiguriert werden:

var nodemailer = require('nodemailer');
var smtpTransport = require('nodemailer-smtp-transport');
var generator = require('xoauth2').createXOAuth2Generator({
     user: "automailer@dotnetautor.de",
     clientId: "01234567890123-abcdefghijk1234lmnopqrst6789ucwx.apps.googleusercontent.com",
     clientSecret: "abcd1234edfghijkl6789",
     refreshToken: "abcdefghijklmnop12345qrstuvwxyz12345abcdefghij12345"
});

Im nächsten Schritt wird zunächst ein Transportkanal erstellt, der für die Verwendung des zuvor bereit gestellten XOAuth2 Generators
konfiguriert wird.

api.route(‘/contact’).post(function(req, res) {
   var mailOpts, smtpTrans;
   // SMTP Transportkanal erstellen 
   smtpTrans = nodemailer.createTransport(smtpTransport({
      service: ‘gmail’,
      auth: {
        xoauth2: generator
      }
   }));

//Mail Optionen mailOpts = { from: req.body.name +‘ <’+req.body.email+‘>’, to: 'info@mydomain.de, subject: req.body.subject || “Anfrage Webseite”, text: req.body.message || “Ohne Nachricht” };

smtpTrans.sendMail(mailOpts, function (error, response) { //Email konnte nicht gesendet werden if (error) { res.json({error: error, res: response}); } else { // Erfogreich gesendet ! res.json(true); } smtpTrans.close(); }); });

Anschließend läßt sich der nodejsmailer zusammen mit dem konfigurierten Account verwenden.

Teil 01 - Gmail ClientID und Refresh Token erstellen