Maison > interface Web > js tutoriel > Maîtriser l'envoi d'e-mails dans Node.js : un guide étape par étape

Maîtriser l'envoi d'e-mails dans Node.js : un guide étape par étape

王林
Libérer: 2024-08-28 06:11:02
original
337 Les gens l'ont consulté

Mastering Email Sending in Node.js: A Step-by-Step Guide

L'envoi d'e-mails est une fonctionnalité courante dans de nombreuses applications Web, que ce soit pour l'enregistrement des utilisateurs, la réinitialisation des mots de passe ou les campagnes marketing. Dans ce guide, nous allons vous montrer comment envoyer des e-mails à l'aide de Node.js à l'aide du module NodeMailer. Nous couvrirons tout, de la configuration de votre projet à l'envoi d'e-mails HTML et à la gestion des pièces jointes.


1. Démarrer avec votre projet de messagerie Node.js

Tout d'abord, vous devrez configurer un nouveau projet Node.js pour l'envoi d'e-mails.

  • Créer un dossier de projet
  mkdir emailtest
  cd emailtest
Copier après la connexion
  • Initialisez votre projet Créez un fichier package.json avec le contenu suivant :
  {
    "name": "emailtest",
    "version": "1.0.0",
    "main": "index.js",
    "dependencies": {
      "nodemailer": "^6.0.0"
    }
  }
Copier après la connexion
  • Installer NodeMailer Installez le module NodeMailer requis en exécutant :
  npm install
Copier après la connexion

2. Envoi de votre premier e-mail

Maintenant que votre projet est configuré, envoyons un simple email.

  • Créer un fichier index.js Ajoutez le code suivant pour envoyer un email :
  import nodemailer from 'nodemailer';

  const transporter = nodemailer.createTransport({
    host: 'smtp.freesmtpservers.com',
    port: 25
  });

  const mailOptions = {
    from: '"Test Email" <test@email.com>',
    to: 'someone@example.com',
    subject: 'Hello!',
    text: 'Hello world!',
    html: '<p>Hello world!</p>'
  };

  transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
      console.log('Error:', error);
    } else {
      console.log('Email sent:', info.response);
    }
  });
Copier après la connexion
  • Exécutez votre code Exécutez le code à l'aide de Node.js :
  node index.js
Copier après la connexion

Vous devriez voir une confirmation que l'e-mail a été envoyé.


3. Ajouter des pièces jointes à votre e-mail

Si vous devez envoyer des fichiers avec votre e-mail, NodeMailer vous facilite la tâche.

  • Exemple avec pièces jointes
  const mailOptions = {
    from: '"Test Email" <test@email.com>',
    to: 'someone@example.com',
    subject: 'Hello with Attachments!',
    text: 'Please find the attached files.',
    attachments: [
      {
        filename: 'test.txt',
        path: './test.txt' // Local file
      },
      {
        filename: 'example.txt',
        content: 'This is a text file content.' // Content as string
      }
    ]
  };
Copier après la connexion

4. Envoi d'e-mails HTML

Les e-mails HTML peuvent rendre vos messages plus attrayants grâce au formatage, aux images et aux liens.

  • Exemple d'e-mail HTML
  const mailOptions = {
    from: '"Test Email" <test@email.com>',
    to: 'someone@example.com',
    subject: 'Hello, HTML!',
    html: '<h1>Hello world!</h1><p>This is an HTML email.</p>'
  };
Copier après la connexion

5. Gestion des erreurs

Il est important de gérer les erreurs pour garantir le bon fonctionnement de votre application.

  • Exemple de gestion des erreurs
  transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
      console.log('Error:', error.message);
    } else {
      console.log('Email sent:', info.response);
    }
  });
Copier après la connexion

Conclusion

L'envoi d'e-mails à l'aide de Node.js et NodeMailer est simple. Avec seulement quelques lignes de code, vous pouvez envoyer des e-mails en texte brut ou HTML, joindre des fichiers et gérer efficacement les erreurs. À mesure que vos besoins évoluent, vous pouvez explorer des fonctionnalités plus avancées telles que l'intégration à des services de messagerie dédiés et la gestion des files d'attente de messagerie asynchrones.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal