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
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
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.
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.
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
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.
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!