Rumah  >  Artikel  >  hujung hadapan web  >  Projek web menggunakan Node.js untuk melaksanakan fungsi penghantaran e-mel

Projek web menggunakan Node.js untuk melaksanakan fungsi penghantaran e-mel

WBOY
WBOYasal
2023-11-08 14:57:001023semak imbas

Projek web menggunakan Node.js untuk melaksanakan fungsi penghantaran e-mel

Projek web menggunakan Node.js untuk melaksanakan fungsi penghantaran e-mel

Dengan perkembangan pesat Internet, e-mel telah menjadi salah satu alat penting untuk orang ramai berkomunikasi. Dalam pembangunan web, kadangkala kita perlu melaksanakan fungsi menghantar e-mel, seperti e-mel pengesahan pendaftaran, e-mel set semula kata laluan, dll. Sebagai persekitaran berjalan JavaScript sisi pelayan yang cekap, Node.js boleh melaksanakan fungsi penghantaran e-mel dengan mudah. Artikel ini akan memperkenalkan cara menggunakan Node.js untuk melaksanakan projek penghantaran e-mel berasaskan web dan memberikan contoh kod khusus.

1. Persediaan persekitaran projek

  1. Pasang Node.js

Pertama, kita perlu memasang Node.js secara setempat. Anda boleh pergi ke tapak web rasmi Node.js (https://nodejs.org) untuk memuat turun pakej pemasangan bagi sistem pengendalian yang sepadan, dan kemudian memasangnya mengikut gesaan.

  1. Memulakan projek

Buat direktori projek secara setempat dan gunakan baris arahan untuk memasuki direktori. Kemudian jalankan arahan berikut untuk memulakan projek:

npm init -y

Perintah ini akan menjana fail konfigurasi bernama "package.json", yang digunakan untuk mengurus pakej kebergantungan projek.

  1. Pasang modul yang diperlukan

Selepas permulaan selesai, kami perlu memasang beberapa modul Node.js yang diperlukan, termasuk ekspres, nodemailer dan body-parser. Ia boleh dipasang melalui arahan berikut:

npm install express nodemailer body-parser

Modul ini digunakan untuk mencipta pelayan web, menghantar e-mel dan menghuraikan badan permintaan permintaan POST.

2. Tulis kod

  1. Buat aplikasi Ekspres

Buat fail bernama "app.js" dalam direktori projek dan tulis kod berikut:

// 引入必要的模块
const express = require('express');
const bodyParser = require('body-parser');
const nodemailer = require('nodemailer');

// 创建Express应用
const app = express();

// 解析POST请求的请求体
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

// 定义发送邮件的路由
app.post('/sendmail', (req, res) => {
  // 获取请求参数
  const { to, subject, text } = req.body;

  // 创建SMTP传输器
  const transporter = nodemailer.createTransport({
    service: 'Gmail',
    auth: {
      user: 'your-email@gmail.com', // 发件人邮箱
      pass: 'your-password' // 发件人邮箱密码
    }
  });

  // 设置邮件内容
  const mailOptions = {
    from: 'your-email@gmail.com', // 发件人
    to, // 收件人
    subject, // 邮件主题
    text // 邮件正文
  };

  // 发送邮件
  transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
      console.log(error);
      res.status(500).send('邮件发送失败');
    } else {
      console.log('邮件发送成功');
      res.send('邮件发送成功');
    }
  });
});

// 启动Web服务器
app.listen(3000, () => {
  console.log('服务器已启动');
});

Dalam kod di atas, modul yang diperlukan pertama kali diperkenalkan ekspres , nodemailer dan body-parser. Kemudian saya mencipta aplikasi Express dan menentukan laluan "/sendmail" dalam fail "app.js" untuk menerima permintaan POST dan menghantar e-mel. E-mel dihantar menggunakan modul nodemailer, yang dilaksanakan dengan mencipta pemancar SMTP.

  1. Mulakan pelayan Web

Jalankan arahan berikut dalam baris arahan untuk memulakan pelayan Web:

node app.js

3 Uji fungsi penghantaran e-mel

Masukkan "http://localhost:3000" dalam pelayar untuk. masukkan halaman Web. Kemudian anda boleh menghantar e-mel melalui kod berikut:

fetch('http://localhost:3000/sendmail', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    to: 'recipient-email@example.com', // 收件人邮箱
    subject: '测试邮件发送', // 邮件主题
    text: '这是一封测试邮件' // 邮件正文
  })
})
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log(error));

Kod di atas menggunakan fungsi ambil untuk menghantar permintaan POST ke laluan "http://localhost:3000/sendmail", dan melepasi alamat e-mel penerima, subjek e-mel , dan badan e-mel sebagai parameter permintaan.

Selepas menjalankan kod di atas, jika konsol mengeluarkan "E-mel dihantar dengan jayanya", ia bermakna e-mel telah berjaya dihantar.

Ringkasan

Artikel ini memperkenalkan cara menggunakan Node.js untuk melaksanakan projek penghantaran e-mel berasaskan web dan menyediakan contoh kod khusus. Melalui projek ini, kami boleh melaksanakan fungsi penghantaran e-mel dengan mudah, dan boleh mengembangkan dan menyesuaikannya mengikut keperluan kami sendiri. Saya harap artikel ini akan membantu pembaca yang baru menggunakan Node.js dan pembangunan web.

Atas ialah kandungan terperinci Projek web menggunakan Node.js untuk melaksanakan fungsi penghantaran e-mel. 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