Heim >Web-Frontend >js-Tutorial >Implementierung von Nodemailer-E-Mail basierend auf Node.js_node.js

Implementierung von Nodemailer-E-Mail basierend auf Node.js_node.js

WBOY
WBOYOriginal
2016-05-16 15:17:511708Durchsuche

Nodemailer ist eine einfache und benutzerfreundliche Node.js-E-Mail-Versandkomponente. Die spezifischen Vorgänge sind wie folgt

1. Nodemailer installieren

npm install nodemailer --save

2. Funktionen

Zu den Hauptfunktionen von Nodemailer gehören:

  • Unterstützung der Unicode-Kodierung
  • Windows-Systemumgebung unterstützen
  • Unterstützt HTML-Inhalte und normale Textinhalte
  • Anhänge unterstützen (große Anhänge übertragen)
  • Unterstützt das Einbetten von Bildern in HTML-Inhalte
  • Unterstützt den sicheren SSL/STARTTLS-E-Mail-Versand
  • Unterstützt integrierte Transportmethoden und Transportmethoden, die von anderen Plug-Ins implementiert werden
  • Unterstützt benutzerdefinierte Plug-ins zum Verarbeiten von Nachrichten
  • Unterstützt die XOAUTH2-Anmeldeüberprüfung

Die oben genannten Funktionsmerkmale decken die meisten Anforderungen zum Versenden von E-Mails ab. Als nächstes beginnen wir mit dem Schreiben des Programms.

3. Einfaches Beispiel

Dies ist ein vollständiges Beispiel zum Senden einer E-Mail mit Klartext und HTML-Textkörper

var nodemailer = require('nodemailer');

// create reusable transporter object using the default SMTP transport
var transporter = nodemailer.createTransport('smtps://user%40gmail.com:pass@smtp.gmail.com');

// setup e-mail data with unicode symbols
var mailOptions = {
  from: 'Fred Foo &#128101; <foo@blurdybloop.com>', // sender address
  to: 'bar@blurdybloop.com, baz@blurdybloop.com', // list of receivers
  subject: 'Hello &#10004;', // Subject line
  text: 'Hello world &#128052;', // plaintext body
  html: '<b>Hello world &#128052;</b>' // 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);
});

4. Häufige Fehler

{ [AuthError: Invalid login - 454 Authentication failed, please open smtp flag first!]
 name: 'AuthError',
 data: '454 Authentication failed, please open smtp flag first!',
 stage: 'auth' }

Fehlerursache: Das Konto hat diesen Dienst nicht eingerichtet
Lösung: QQ-Postfach -> Konto -> Dienst aktivieren: POP3/SMTP-Dienst

{ [SenderError: Mail from command failed - 501 mail from address must be same as authorization user]
 name: 'SenderError',
 data: '501 mail from address must be same as authorization user',
 stage: 'mail' }

Fehlerursache: Das sendende Konto und das Authentifizierungskonto sind unterschiedlich, d. h. Benutzername und Passwort stimmen nicht überein.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn