Maison >interface Web >js tutoriel >Implémentation de la messagerie nodemailer basée sur Node.js_node.js

Implémentation de la messagerie nodemailer basée sur Node.js_node.js

WBOY
WBOYoriginal
2016-05-16 15:17:511674parcourir

Nodemailer est un composant d'envoi d'e-mails Node.js simple et facile à utiliser. Les opérations spécifiques sont les suivantes

1. Installer nodemailer

npm install nodemailer --save

2. Caractéristiques

Les principales fonctionnalités de Nodemailer incluent :

  • Prend en charge l'encodage Unicode
  • Environnement système Windows de support
  • Prend en charge le contenu HTML et le contenu texte normal
  • Supporter les pièces jointes (transférer des pièces jointes volumineuses)
  • Prend en charge l'intégration d'images dans le contenu HTML
  • Prend en charge l'envoi d'e-mails sécurisé SSL/STARTTLS
  • Prend en charge les méthodes de transport intégrées et les méthodes de transport implémentées par d'autres plug-ins
  • Prend en charge les plug-ins personnalisés pour traiter les messages
  • Prise en charge de la vérification de connexion XOAUTH2

Les fonctionnalités fonctionnelles ci-dessus ont couvert la plupart des besoins en matière d'envoi d'e-mails. Ensuite, commençons à écrire le programme.

3. Exemple simple

Ceci est un exemple complet pour envoyer un e-mail avec du texte clair et un corps HTML

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. Erreurs courantes

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

Cause de l'erreur : Le compte n'a pas configuré ce service
Solution : Boîte aux lettres QQ -> Paramètres -> Compte -> Activer le service : service POP3/SMTP

{ [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' }

Cause de l'erreur : le compte d'envoi et le compte d'authentification sont différents, c'est-à-dire que le nom d'utilisateur et le mot de passe ne correspondent pas.

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn