Maison  >  Article  >  interface Web  >  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

王林
王林original
2024-08-28 06:11:02313parcourir

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
  • 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"
    }
  }
  • Installer NodeMailer Installez le module NodeMailer requis en exécutant :
  npm install

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);
    }
  });
  • Exécutez votre code Exécutez le code à l'aide de Node.js :
  node index.js

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
      }
    ]
  };

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>'
  };

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);
    }
  });

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!

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