Projet Web utilisant Node.js pour implémenter la fonction d'envoi d'e-mails
Avec le développement rapide d'Internet, l'e-mail est devenu l'un des outils importants permettant aux gens de communiquer. Dans le développement Web, nous devons parfois implémenter la fonction d'envoi d'e-mails, tels que des e-mails de confirmation d'inscription, des e-mails de réinitialisation de mot de passe, etc. En tant qu'environnement d'exécution JavaScript côté serveur efficace, Node.js peut facilement implémenter la fonction d'envoi d'e-mails. Cet article explique comment utiliser Node.js pour implémenter un projet d'envoi d'e-mails basé sur le Web et fournit des exemples de code spécifiques.
1. Configuration de l'environnement du projet
Tout d'abord, nous devons installer Node.js localement. Vous pouvez accéder au site officiel de Node.js (https://nodejs.org) pour télécharger le package d'installation du système d'exploitation correspondant, puis l'installer selon les invites.
Créez un répertoire de projet localement et utilisez la ligne de commande pour accéder au répertoire. Exécutez ensuite la commande suivante pour initialiser le projet :
npm init -y
Cette commande générera un fichier de configuration nommé "package.json", qui sert à gérer les packages de dépendances du projet.
Une fois l'initialisation terminée, nous devons installer certains modules Node.js nécessaires, notamment express, nodemailer et body-parser. Il peut être installé via la commande suivante :
npm install express nodemailer body-parser
Ces modules sont utilisés pour créer un serveur web, envoyer des emails et analyser le corps des requêtes POST.
2. Écrivez le code
Créez un fichier nommé "app.js" dans le répertoire du projet et écrivez le code suivant :
// 引入必要的模块 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('服务器已启动'); });
Dans le code ci-dessus, les modules nécessaires sont d'abord introduits express , nodemailer et body-parser. Ensuite j'ai créé une application Express et défini une route "/sendmail" dans le fichier "app.js" pour recevoir les requêtes POST et envoyer des emails. L'e-mail est envoyé à l'aide du module nodemailer, qui est implémenté en créant un émetteur SMTP.
Exécutez la commande suivante dans la ligne de commande pour démarrer le serveur Web :
node app.js
3. Testez la fonction d'envoi d'e-mail
Entrez "http://localhost:3000" dans le navigateur pour entrez dans la page Web. Ensuite, vous pouvez envoyer un e-mail via le code suivant :
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));
Le code ci-dessus utilise la fonction fetch pour envoyer une requête POST à la route "http://localhost:3000/sendmail", et transmet l'adresse e-mail du destinataire, le sujet de l'e-mail. et le corps de l'e-mail comme paramètre de demande.
Après avoir exécuté le code ci-dessus, si la console affiche "E-mail envoyé avec succès", cela signifie que l'e-mail a été envoyé avec succès.
Résumé
Cet article explique comment utiliser Node.js pour implémenter un projet d'envoi d'e-mails basé sur le Web et fournit des exemples de code spécifiques. Grâce à ce projet, nous pouvons facilement implémenter la fonction d'envoi d'e-mails, et pouvons l'étendre et la personnaliser en fonction de nos propres besoins. J'espère que cet article sera utile aux lecteurs qui débutent avec Node.js et le développement Web.
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!