KinstaのアプリケーションホスティングサービスからSendGrid経由でメールを送信するのに便利な一例として、Node.jsアプリケーションのセットアップ方法をご紹介します。

Kinstaでは、サーバーからのメール送信を、ネイティブでサポートしていません。SendGridまたはMailchimpのような専門のメール配信サービスを使ってメールを送信することで、トランザクションやキャンペーンのメールを高い柔軟性で管理可能です。

  1. こちらのGitHubリポジトリをフォークしてください:「Kinsta – Hello World – Email Sending With Node.js
  2. MyKinstaで、「Hello World – Email Sending With Node.js」を使いアプリケーションを追加します。「環境変数」には、以下を追加してください。
    • SENDGRID_API_KEY:SendGridからのAPIキー
    • TEST_EMAIL_TO_ADDRESS:テストメール送信先のアドレス
    • TEST_EMAIL_FROM_ADDRESS:テストメール送信元のアドレス
    • TEST_ENDPOINT:テストメールを送信するトリガーとして使用するエンドポイント(8文字以上のランダムな文字列を使用)
  3. ウェブプロセスの「startコマンド」については、Kinstaでの初回デプロイ時に必要なコマンドを自動で検出するため、空白のままで問題ありません。

ビルドが終了し、お客様のアプリケーションURLで「Hello World」ページが読み込まれると、すぐにアプリが利用可能になります。

インストール完了後(Node.jsのメールでHello Worldページが送信された)
インストール完了後(Node.jsのメールでHello Worldページが送信された)

メールをトリガーする

このプロジェクトに、ビルドのフェーズは必要ありません。startコマンドでnode server.js,を実行し、2つのエンドポイントのあるExpressサーバーが起動します。

  • /:Hello Worldメッセージを返すシンプルなページ
  • /${TEST_ENDPOINT}:テストメールをトリガーするページ

メールをトリガーするには、「デプロイメント」ページでURLを見つけ、これにテストのエンドポイントを追加し、そのページにアクセスします。たとえば、TEST_ENDPOINTo34nifnodhni4of に設定され、最新のデプロイメントがhttps://example.kinsta.appにある場合、ブラウザでhttps://example.kinsta.app/o34nifnodhni4ofからテストメールをトリガーすることができます。

テストメールが正常に送信されると、「Email sent」メッセージが表示されます。

Node.jsのメール送信完了メッセージ
Node.jsのメール送信完了メッセージ

SendGridで受信をテストすると、以下のメッセージが表示されます。

SendGridでのテストメールの受信確認
SendGridでのテストメールの受信確認