メールインフラガイド
Node.jsでメールAPIを使う方法
APIキーを漏らさずにNode.jsからトランザクションメールを送信するための、サーバーサイドの実装パターンです。
Node.jsアプリケーションでは、メール送信をサーバーサイドのモジュールやジョブワーカーの背後に置くべきです。このモジュールはバリデーション済みのメッセージリクエストを受け取り、メールAPIを呼び出し、オブザーバビリティのためにプロバイダーのレスポンスを保存します。
実務での意味
- サーバー専用のAPI認証情報
- 送信前の入力バリデーション
- タイムアウトと再試行のポリシー
- サポートと監査のためのメッセージIDの保存
実装チェックリスト
- APIキーはサーバーの環境変数から読み込みます。
- 送信元、受信者、件名、本文の各フィールドをバリデーションします。
- メールAPIはサービスモジュールまたはキューワーカーから呼び出します。
- 返されたメッセージIDをプロダクトのイベントと一緒に保存します。
- 再試行するのは、一時的だとわかっている失敗だけにします。
よく寄せられる質問
ブラウザのJavaScriptからメールAPIを呼び出せますか?
送信用のAPIキーをブラウザのコードに公開しないでください。代わりにNode.jsのバックエンド経由で送信します。
メール送信でWebリクエストをブロックすべきですか?
重要な操作であればブロックしてもかまいませんが、再試行や耐障害性の面ではキューを使うほうが適していることが多いです。