Node.js を使用して電子メール送信機能を実装する Web プロジェクト
インターネットの急速な発展に伴い、電子メールは人々がコミュニケーションを図るための重要なツールの 1 つになりました。 Web開発では、登録確認メールやパスワードリセットメールなどのメール送信機能を実装する必要がある場合があります。 Node.js は効率的なサーバーサイド JavaScript 実行環境として、メール送信機能を簡単に実装できます。この記事では、Node.js を使用して Web ベースの電子メール送信プロジェクトを実装する方法を紹介し、具体的なコード例を示します。
1. プロジェクト環境のセットアップ
まず、Node.js をローカルにインストールする必要があります。 Node.js 公式 Web サイト (https://nodejs.org) にアクセスして、対応するオペレーティング システムのインストール パッケージをダウンロードし、プロンプトに従ってインストールします。
プロジェクト ディレクトリをローカルに作成し、コマンド ラインを使用してそのディレクトリに入ります。次に、次のコマンドを実行してプロジェクトを初期化します。
npm init -y
このコマンドは、プロジェクトの依存関係パッケージの管理に使用される「package.json」という名前の構成ファイルを生成します。
初期化が完了したら、express、nodemailer、body-parser などの必要な Node.js モジュールをインストールする必要があります。次のコマンドを使用してインストールできます。
npm install express nodemailer body-parser
これらのモジュールは、Web サーバーの作成、電子メールの送信、および POST リクエストのリクエスト本文の解析に使用されます。
2. コードを記述します
プロジェクト ディレクトリに「app.js」という名前のファイルを作成し、次のコードを記述します:
// 引入必要的模块 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('服务器已启动'); });
上記のコードでは、必要なモジュール Express、nodemailer、body-parser が最初に導入されています。次に、Express アプリケーションを作成し、POST リクエストを受信して電子メールを送信するために、「app.js」ファイルに「/sendmail」ルートを定義しました。電子メールは、SMTP トランスミッターを作成することによって実装される、nodemailer モジュールを使用して送信されます。
コマンド ラインで次のコマンドを実行して Web サーバーを起動します:
node app.js
3. 電子メール送信機能をテストします。
ブラウザに「http://localhost:3000」と入力してWebページに入ります。次に、次のコードを使用して電子メールを送信できます。
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));
上記のコードは、フェッチ関数を使用して POST リクエストを「http://localhost:3000/sendmail」ルートに送信し、受信者の電子メールを渡します。アドレス、メール件名、メール本文がリクエストパラメータとして使用されます。
上記のコードを実行した後、コンソールに「電子メールは正常に送信されました」と出力された場合、電子メールは正常に送信されたことを意味します。
概要
この記事では、Node.js を使用して Web ベースの電子メール送信プロジェクトを実装する方法を紹介し、具体的なコード例を示します。このプロジェクトを通じて、メール送信機能を簡単に実装でき、必要に応じて拡張およびカスタマイズできます。この記事が Node.js と Web 開発の初心者に役立つことを願っています。
以上がNode.jsを使用してメール送信機能を実装するWebプロジェクトの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。