Rumah >hujung hadapan web >tutorial js >Menguasai Penghantaran E-mel dalam Node.js: Panduan Langkah demi Langkah

Menguasai Penghantaran E-mel dalam Node.js: Panduan Langkah demi Langkah

王林
王林asal
2024-08-28 06:11:02336semak imbas

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

Menghantar e-mel ialah ciri biasa dalam kebanyakan aplikasi web, sama ada untuk pendaftaran pengguna, penetapan semula kata laluan atau kempen pemasaran. Dalam panduan ini, kami akan menunjukkan kepada anda cara menghantar e-mel menggunakan Node.js dengan bantuan modul NodeMailer. Kami akan merangkumi segala-galanya daripada menyediakan projek anda kepada menghantar e-mel HTML dan mengendalikan lampiran.


1. Bermula dengan Projek E-mel Node.js Anda

Pertama sekali, anda perlu menyediakan projek Node.js baharu untuk menghantar e-mel.

  • Buat Folder Projek
  mkdir emailtest
  cd emailtest
  • Mulakan Projek Anda Buat fail package.json dengan kandungan berikut:
  {
    "name": "emailtest",
    "version": "1.0.0",
    "main": "index.js",
    "dependencies": {
      "nodemailer": "^6.0.0"
    }
  }
  • Pasang NodeMailer Pasang modul NodeMailer yang diperlukan dengan menjalankan:
  npm install

2. Menghantar E-mel Pertama Anda

Setelah projek anda disediakan, mari hantar e-mel ringkas.

  • Buat Fail index.js Tambahkan kod berikut untuk menghantar e-mel:
  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);
    }
  });
  • Jalankan Kod Anda Jalankan kod menggunakan Node.js:
  node index.js

Anda sepatutnya melihat pengesahan bahawa e-mel telah dihantar.


3. Menambah Lampiran pada E-mel Anda

Jika anda perlu menghantar fail dengan e-mel anda, NodeMailer memudahkannya.

  • Contoh dengan Lampiran
  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. Menghantar E-mel HTML

E-mel HTML boleh menjadikan mesej anda lebih menarik dengan pemformatan, imej dan pautan.

  • Contoh E-mel 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. Mengendalikan Ralat

Adalah penting untuk mengendalikan ralat untuk memastikan aplikasi anda berfungsi dengan lancar.

  • Contoh Pengendalian Ralat
  transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
      console.log('Error:', error.message);
    } else {
      console.log('Email sent:', info.response);
    }
  });

Kesimpulan

Menghantar e-mel menggunakan Node.js dan NodeMailer adalah mudah. Dengan hanya beberapa baris kod, anda boleh menghantar teks biasa atau e-mel HTML, melampirkan fail dan mengendalikan ralat dengan cekap. Apabila keperluan anda berkembang, anda boleh meneroka ciri yang lebih maju seperti menyepadukan dengan perkhidmatan e-mel khusus dan mengurus baris gilir e-mel tak segerak.

Atas ialah kandungan terperinci Menguasai Penghantaran E-mel dalam Node.js: Panduan Langkah demi Langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn