1. 製品
  2.   Eメール
  3.   Node.js
  4.   Nodemailer
 
  

オープンソース Nodd.js API:メールの読み取りと送信

高度なオープンソース Node.js メール管理 API は、開発者が Node.js アプリから添付ファイルとカスタムヘッダー付きのメールメッセージを作成、読み取り、カスタマイズ、送信できるようにします。

Nodemailer API とは何ですか?

Nodemailer を発見してください、Node.js 開発者にとって不可欠なメール送信ライブラリです。このツールは、Node.js 開発者がアプリケーション内から数行のコードだけでメールメッセージを作成・送信できるようにします。そのオープンソース性と堅牢な API により、メール機能をシームレスに統合したい開発者に人気があります。ソフトウェア開発者は外部の助けなしにメール内容を幅広くカスタマイズできます。シンプルなテキストメールから、添付ファイル付きの複雑な HTML テンプレート(トランザクションメール、通知、ニュースレターなど)まで、ライブラリはプロフェッショナルで魅力的なメールを作成するためのツールを提供します。セキュリティ強化のために、OAuth2 認証をサポートしています。この方法は、Gmail のように OAuth2 をサポートするサービスからメールを送信する際に特に有用です。

Nodemailer は、SMTP、OAuth2、さらには直接トランスポートなど、さまざまなトランスポート方式をサポートしています。この柔軟性により、開発者は特定のユースケースに最適な方法を選択できます。豊富なカスタマイズオプションを提供し、開発者はカスタムヘッダーの設定、エンコーディングの変更、添付ファイルやインライン画像の追加、その他のパラメータ調整など、特定の要件に合わせて調整できます。オープンソースプロジェクトとして、API は活発な貢献者とユーザーのコミュニティから恩恵を受けています。この活発なコミュニティにより、定期的なアップデート、継続的な改善、豊富な知識とリソースの共有が保証されます。Nodemailer は、Node.js アプリケーションにおけるメール統合のための強力で柔軟かつ信頼性の高いソリューションとして際立っています。そのオープンソース性と強力なコミュニティサポートにより、堅牢なメール送信機能でアプリケーションを強化したい開発者にとって必須のツールとなっています。

Previous Next

Nodemailer の開始方法

Nodemailer をインストールする推奨方法は NPM を使用することです。スムーズなインストールのために、以下のコマンドをご利用ください。

Install Nodemailer via npm

npm install nodemailer
 

Node.js からメールメッセージを送信する

オープンソースの Nodemailer メール API は、ソフトウェア開発者が外部依存なしで Node.js アプリケーションからメールメッセージを作成・送信できるようにします。API はさまざまなトランスポートメカニズムをサポートしており、開発者はメール送信に最適な方法を選択できます。最も一般的なトランスポート方法には SMTP トランスポート、OAuth2 サポート、または Direct トランスポートがあります。メールへの添付ファイルの追加、HTML コンテンツ用の画像添付の埋め込み、複数ユーザーへのメール送信などをサポートしています。以下は、ソフトウェア開発者が SMTP トランスポートを使用して Node.js アプリケーションからメールメッセージを送信する簡単な例です。

Node.js アプリから SMTP トランスポートを使用してメールメッセージを送信する方法は?

 
const nodemailer = require('nodemailer');

// Configure the SMTP transport
let transporter = nodemailer.createTransport({
    host: 'smtp.example.com',
    port: 587,
    secure: false, // true for 465, false for other ports
    auth: {
        user: 'your-email@example.com', // your SMTP username
        pass: 'your-email-password' // your SMTP password
    }
});

// Define the email options
let mailOptions = {
    from: 'your-email@example.com', // sender address
    to: 'recipient@example.com', // list of receivers
    subject: 'Hello from Nodemailer', // Subject line
    text: 'This is a test email sent using Nodemailer', // plain text body
    html: 'This is a test email sent using Nodemailer' // html body
};

// Send the email
transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        return console.log('Error: ', error);
    }
    console.log('Message sent: %s', info.messageId);
    console.log('Preview URL: %s', nodemailer.getTestMessageUrl(info));
});
 

Node.js アプリからリッチコンテンツ付きメールを送信する

Nodemailer API は、Node.js アプリケーション内でプレーンテキストと HTML の両方の形式をサポートし、リッチなメールコンテンツの作成を可能にします。これにより、ソフトウェア開発者はスタイリングや画像、さらにはインタラクティブなコンテンツを含む視覚的に魅力的なメールを作成できます。Handlebars や EJS などのテンプレートエンジンと組み合わせて API を使用することで、開発者は動的でデータ駆動型のメールテンプレートを作成できます。これは、ユーザーデータに基づいてコンテンツが適応するパーソナライズされたメッセージの送信に最適です。API は添付ファイルもサポートしており、PDF、画像、その他任意のファイルをメールと共に送信することが可能です。

カスタムヘッダーと埋め込み画像

高度なメールカスタマイズのために、Nodemailer API はソフトウェア開発者が Node.js アプリケーション内でカスタムヘッダーや埋め込み画像を含めることを可能にします。この機能はブランディングやパーソナライズに特に有用で、メールがアプリケーションの外観や雰囲気と一致するようにします。カスタムヘッダーはメールの特定のメタデータを設定するために使用でき、埋め込み画像は画像をインラインで表示することでメールを視覚的に魅力的にします。以下は、カスタムヘッダーと埋め込み画像を使用してメールを送信する包括的な例です。

Node.js API を使用してカスタムヘッダーと埋め込み画像付きのメールを送信する方法は?

 
const nodemailer = require('nodemailer');
const path = require('path');

// Create a transporter object using SMTP transport
let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'your-email@gmail.com',
        pass: 'your-email-password'
    }
});

// Define the email options, including custom headers and an embedded image
let mailOptions = {
    from: 'your-email@gmail.com',
    to: 'recipient@example.com',
    subject: 'Custom Headers and Embedded Images in Nodemailer',
    html: `

ようこそ!

このメールにはカスタムヘッダーと埋め込み画像が含まれています。

`, headers: { 'X-Custom-Header': 'CustomHeaderValue', 'X-Mailer': 'Nodemailer 6.4.11' }, attachments: [ { filename: 'image.jpg', path: path.join(__dirname, 'path_to_image/image.jpg'), cid: 'unique@nodemailer.com' // same cid as in the HTML above } ] }; // Send the email transporter.sendMail(mailOptions, (error, info) => { if (error) { return console.error('Error sending email:', error); } console.log('Email sent successfully:', info.response); });
 日本