Nodemailerでメールを送る方法
6952 ワード
Nodemailerの作者は、それがケーキの一部を電子メールを送信することを言う.彼らが料理か食について話しているかどうか見ましょう🙂 この記事のアイデアは、電子メール送信のためのNodemailerを使用する方法を説明することです.我々は、主にSMTPとHTMLの側面に焦点を当てますが、すべてのnodemailer機能の概要も行います.また、このチュートリアルでは、準備し、あなたのノードを送信する電子メールメッセージをテストするのに役立ちます.JSアプリケーション.
あなたが完全な記事を読みたいならば、MailtrapのブログでそれをチェックしてくださいHow to Send an Email with Nodemailer
インストール
NodeDailerを使用して起動するために必要な唯一のものはNodeです.jsバージョン6.0以上.NodeMailer自体をインストールする必要がありますが、それは本当にNPMや糸のパッケージマネージャで簡単です.次のコマンドをノードに実行します.コマンドプロンプト
Nodemailerとのメッセージを送信するには、3つの主要な手順があります.
ステップ1.トランスポーター
SMTPは最も一般的なトランスポーターです、そして、以下で、我々はより詳細にそれを説明するだけでなく、いくつかの例を示します.しかし、他の利用可能なオプションのリストがあります. ビルトイン輸送
sendmail、単純なメッセージのための定期的なsendmailコマンド.PHPのmail ()関数と似ています SES、それらを送信することにより、メールの大きなトラフィックを処理するAmazon SES
stream、テスト目的のためのバッファ、メッセージを返す. -外部転送.簡単に言えば、あなた自身の交通手段を作ることができます
詳しくはNodemailer documentation .
SMTPでは、すべては非常に簡単です.ホスト、ポート、認証の詳細とメソッドを設定し、それです.SMTP接続がこの段階で正しいことを確認するのも役に立つでしょう.
Nodemailerで送信された電子メールをテストするにはMailtrap , 事前生産環境における複雑な電子メールテストのためのオンラインツールそれは私たちのメッセージをキャッチし、どのように実際のメールクライアントで見て表示し、分析し、デバッグを支援します.MailTapもBCCのテストオプションを提供し、他のチームのメンバーと同様に、実際の検証アドレスに転送メールを使用して電子メールのテスト結果を共有することができます.
あなたはまだアカウントを持っていない場合でも、全体の設定プロセスはわずか数分かかります.Mailtrap定期的にSMTPサーバーとして統合されます.すばやくsign up (無料です)、受信トレイ内のSMTP設定タブに移動し、必要な設定をコピーし、アプリケーションスクリプトに挿入します.
MailTrapはnodemailerとの統合を使用する準備ができています:統合セクションからそれを選択し、アプリケーションのコードに挿入します.トランスポーターとsyntaxis属性が既にあります:
最近、Nodemailerが導入しましたNodemailerApp . sendmailの置換を提供しますが、まずはメールをデバッグするように設計されています.NoDemailerApp SMTPとPOP 3ローカルサーバー、Catchallメールサービス、電子メールのプレビュー機能と一緒に.
手順2.nodemailerメッセージオプションを設定する
この時点で、送信者、メッセージ受信者、およびメッセージの内容を指定する必要があります.
Unicodeがサポートされているので、Emojisを含めることができますので、覚えておいてください!
HTMLとしてフォーマットされたテキストを送信するには、余分な属性は必要ありません.HTML属性を持つメッセージにHTML本体を置くだけです.高度なテンプレートの場合は、添付ファイルを追加し、イメージを埋め込むことができます.まずは簡単なメッセージオプションの例を見てみましょう.
次の主なプロパティを使用して、NodeDailer内のメッセージにデータの種類を追加できます. ファイル名:添付ファイルの名前.ここでは、Unicodeを使用することもできます. 内容:添付ファイルの本文.文字列、バッファ、ストリームを指定できます.
path :ファイルへのパス.これは大きな添付ファイルのための良いオプションです. 添付ファイルURL .データURIもサポートされています.
ContentType :設定しない場合は、filenameプロパティから推論されます
HTMLメッセージのインラインイメージ.HTMLメールに画像を添付する詳細については、この投稿を読んでください.CID値は一意であるべきです.
トランスポーターを作成し、メッセージを設定すると、sendmail ()メソッドを使用して送信できます.
我々はどのように作成し、SMTPを介してnodemailerで電子メールを送信するには、コンテンツの種類を実験:HTML、テーブル、リスト、添付ファイル、および埋め込み画像をカバーしている.Nodemailerについての良いことは、さまざまなオプションと設定の束を提供するので、あなたの電子メールのすべての部分をカスタマイズすることができますです.
nodemailerの例を取得し、nodemailerでデバッグオプションについての詳細を学ぶためにHow to Send an Email with Nodemailer 記事.
あなたが完全な記事を読みたいならば、MailtrapのブログでそれをチェックしてくださいHow to Send an Email with Nodemailer
nodemailerの使い方
インストール
NodeDailerを使用して起動するために必要な唯一のものはNodeです.jsバージョン6.0以上.NodeMailer自体をインストールする必要がありますが、それは本当にNPMや糸のパッケージマネージャで簡単です.次のコマンドをノードに実行します.コマンドプロンプト
npm install nodemailer
oryarn add nodemailer
完了すると、次のようにアプリケーションに追加します.var nodemailer = require('nodemailer');
あるいはこれがESモジュールを使っているならば:import nodemailer from ‘nodemailer’;
メッセージの送信
Nodemailerとのメッセージを送信するには、3つの主要な手順があります.
ステップ1.トランスポーター
SMTPは最も一般的なトランスポーターです、そして、以下で、我々はより詳細にそれを説明するだけでなく、いくつかの例を示します.しかし、他の利用可能なオプションのリストがあります.
詳しくはNodemailer documentation .
SMTPでは、すべては非常に簡単です.ホスト、ポート、認証の詳細とメソッドを設定し、それです.SMTP接続がこの段階で正しいことを確認するのも役に立つでしょう.
transporter.verify(function(error, success) {
if (error) {
console.log(error);
} else {
console.log('Server is ready to take our messages');
}
});
どのようにNodemailerでメールをテストするには?
Nodemailerで送信された電子メールをテストするにはMailtrap , 事前生産環境における複雑な電子メールテストのためのオンラインツールそれは私たちのメッセージをキャッチし、どのように実際のメールクライアントで見て表示し、分析し、デバッグを支援します.MailTapもBCCのテストオプションを提供し、他のチームのメンバーと同様に、実際の検証アドレスに転送メールを使用して電子メールのテスト結果を共有することができます.
あなたはまだアカウントを持っていない場合でも、全体の設定プロセスはわずか数分かかります.Mailtrap定期的にSMTPサーバーとして統合されます.すばやくsign up (無料です)、受信トレイ内のSMTP設定タブに移動し、必要な設定をコピーし、アプリケーションスクリプトに挿入します.
MailTrapはnodemailerとの統合を使用する準備ができています:統合セクションからそれを選択し、アプリケーションのコードに挿入します.トランスポーターとsyntaxis属性が既にあります:
var transport = nodemailer.createTransport({
host: "smtp.mailtrap.io",
port: 2525,
auth: {
user: "1a2b3c4d5e6f7g", //generated by Mailtrap
pass: "1a2b3c4d5e6f7g" //generated by Mailtrap
}
});
さもなければ、あなたはEtherealに自動生成された電子メールテストアカウントを使うことができます.最近、Nodemailerが導入しましたNodemailerApp . sendmailの置換を提供しますが、まずはメールをデバッグするように設計されています.NoDemailerApp SMTPとPOP 3ローカルサーバー、Catchallメールサービス、電子メールのプレビュー機能と一緒に.
手順2.nodemailerメッセージオプションを設定する
この時点で、送信者、メッセージ受信者、およびメッセージの内容を指定する必要があります.
Unicodeがサポートされているので、Emojisを含めることができますので、覚えておいてください!
HTMLとしてフォーマットされたテキストを送信するには、余分な属性は必要ありません.HTML属性を持つメッセージにHTML本体を置くだけです.高度なテンプレートの場合は、添付ファイルを追加し、イメージを埋め込むことができます.まずは簡単なメッセージオプションの例を見てみましょう.
var mailOptions = {
from: '"Example Team" <[email protected]>',
to: '[email protected], [email protected]',
subject: 'Nice Nodemailer test',
text: 'Hey there, it’s our first message sent with Nodemailer ;) ',
html: '<b>Hey there! </b><br> This is our first message sent with Nodemailer'
};
での添付ファイル次の主なプロパティを使用して、NodeDailer内のメッセージにデータの種類を追加できます.
list: {
// List-Help: <mailto:[email protected]?subject=help>
help: '[email protected]?subject=help',
// List-Unsubscribe: <http://example.com> (Comment)
unsubscribe: [
{
url: 'http://example.com/unsubscribe',
comment: 'A short note about this url'
},
'[email protected]'
],
// List-ID: "comment" <example.com>
id: {
url: 'mylist.example.com',
comment: 'my new list'
}
}
};
オプションのプロパティを使用すると、特定のコンテンツタイプまたはインラインイメージを追加できます.ContentType :設定しない場合は、filenameプロパティから推論されます
` // An array of attachments
attachments: [
// String attachment
{
filename: 'notes.txt',
content: 'new important notes',
contentType: 'text/plain' // optional, would be detected from the filename
},
`HTMLメッセージのインラインイメージ.HTMLメールに画像を添付する詳細については、この投稿を読んでください.CID値は一意であるべきです.
cid: '[email protected]' // should be as unique as possible
},
// File Stream attachment
{
filename: 'matrix neo.gif',
path: __dirname + '/assets/neo.gif',
cid: '[email protected]' // should be as unique as possible
}
],
エンコーディング:コンテンツの文字列型に追加できます.設定したエンコーディング値(base 64、binaryなど)に従って、コンテンツをバッファ型にエンコードします ` // Binary Buffer attachment
{
filename: 'image.png',
content: Buffer.from(
'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAD/' +
'//+l2Z/dAAAAM0lEQVR4nGP4/5/h/1+G/58ZDrAz3D/McH8yw83NDDeNGe4U' +
'g9C9zwz3gVLMDA/A6P9/AFGGFyjOXZtQAAAAAElFTkSuQmCC',
'base64'
)`
ステップ3.sendmail ()でメッセージを配送するトランスポーターを作成し、メッセージを設定すると、sendmail ()メソッドを使用して送信できます.
transport.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log('Message sent: %s', info.messageId);
});
nodemailer機能
我々はどのように作成し、SMTPを介してnodemailerで電子メールを送信するには、コンテンツの種類を実験:HTML、テーブル、リスト、添付ファイル、および埋め込み画像をカバーしている.Nodemailerについての良いことは、さまざまなオプションと設定の束を提供するので、あなたの電子メールのすべての部分をカスタマイズすることができますです.
nodemailerの例を取得し、nodemailerでデバッグオプションについての詳細を学ぶためにHow to Send an Email with Nodemailer 記事.
Reference
この問題について(Nodemailerでメールを送る方法), 我々は、より多くの情報をここで見つけました https://dev.to/alexandramt/how-to-send-an-email-with-nodemailer-3b7aテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol