メールインフラガイド

Node.jsでメールAPIを使う方法

APIキーを漏らさずにNode.jsからトランザクションメールを送信するための、サーバーサイドの実装パターンです。

Node.jsアプリケーションでは、メール送信をサーバーサイドのモジュールやジョブワーカーの背後に置くべきです。このモジュールはバリデーション済みのメッセージリクエストを受け取り、メールAPIを呼び出し、オブザーバビリティのためにプロバイダーのレスポンスを保存します。

実務での意味

  • サーバー専用のAPI認証情報
  • 送信前の入力バリデーション
  • タイムアウトと再試行のポリシー
  • サポートと監査のためのメッセージIDの保存

実装チェックリスト

  1. APIキーはサーバーの環境変数から読み込みます。
  2. 送信元、受信者、件名、本文の各フィールドをバリデーションします。
  3. メールAPIはサービスモジュールまたはキューワーカーから呼び出します。
  4. 返されたメッセージIDをプロダクトのイベントと一緒に保存します。
  5. 再試行するのは、一時的だとわかっている失敗だけにします。

よく寄せられる質問

ブラウザのJavaScriptからメールAPIを呼び出せますか?

送信用のAPIキーをブラウザのコードに公開しないでください。代わりにNode.jsのバックエンド経由で送信します。

メール送信でWebリクエストをブロックすべきですか?

重要な操作であればブロックしてもかまいませんが、再試行や耐障害性の面ではキューを使うほうが適していることが多いです。