ホームページ ウェブフロントエンド CSSチュートリアル 電子メールを送信するためのNetLify機能

電子メールを送信するためのNetLify機能

Apr 21, 2025 am 10:27 AM

Jamstackサイトで電子メール送信のNetlifyFunctionsを活用します

Jamstack Webサイト(サーバー側の言語のない1つ)からメールを送信する必要がありますか? Netlify機能と電子メールサービスAPIを使用して簡単に達成できます。このガイドでは、SparkPostを例として使用していますが、原則は他のサービスに適用されます。

電子メールを送信するためのNetLify機能

コアコンセプトには、フロントエンドと電子メールAPIの間の安全な仲介者として機能するサーバーレス関数(Netlify Lambdaなど)が含まれます。これにより、APIキーはGitリポジトリの露出から保護されます。

SparkPostのセットアップ:

  1. SparkPostアカウントを作成し、ダッシュボードからAPIキーを取得します。

Netlifyの構成:

  1. SparkPost APIキーをNetlify環境変数として保存します。これにより、安全に保ち、コードベースから外れます。

ローカル開発にnetlify devを使用してください:

Netlify Devはローカルテストを簡素化します。静的サイトジェネレーター(例えば、110)を自動的に実行し、機能用のローカルサーバーを起動します。端子出力には、関数サーバーのポートが表示されます(例えば、 ◈ Lambda server is listening on 59629 )。

新しい関数を作成するには、コマンドラインを使用します。

 NetLify関数:CREATE  - 名前[送信メール)
ログイン後にコピー

SparkPost node.jsライブラリの利用:

SparkPostは、API相互作用を簡素化するNode.jsライブラリを提供します。必要なディレクトリ構造を作成します。

 <code>/project ... your website files ... /functions/ /send-email/ package.json send-email.js</code>
ログイン後にコピー

ライブラリをインストールします:

 NPMインストールSparkPost  -  save-dev
ログイン後にコピー

send-email.jsファイルには関数コードが含まれます。

 const sparkpost = require( 'sparkpost');
const client = new SparkPost(process.env.sparkpost);

exports.handler = async(event、context、callback)=> {
  試す {
    const response = await client.transmissions.send({
      コンテンツ: {
        from: '[電子メール保護]'、
        件名:「こんにちは、世界!」、
        HTML: '<p>私のクールなメール。</p> '
      }、
      受信者:[{住所: '[電子メール保護]'}]
    });
    callback(null、{statuscode:200、body:json.stringify(response)});
  } catch(error){
    コールバック(エラー);
  }
};
ログイン後にコピー

Netlify Environment変数からAPIキーにアクセスするには、 process.env.SPARKPOSTの使用に注意してください。包括的なエラー処理と高度な機能については、SparkPostドキュメントをご覧ください。

関数のテスト:

netlify devが実行されている場合、次のようなURLを介して機能にアクセスします。

 <code>http://localhost:34567/.netlify/functions/send-email</code>
ログイン後にコピー

郵便配達員や不眠症などのツールを使用して、電子メールボディや受信者データを含むPOSTリクエストを送信するなど、より洗練されたテストを行うことができます。関数内のログをコンソールすることも、デバッグに役立ちます。

このセットアップにより、Jamstackアーキテクチャ内の動的電子メール送信機能が可能になり、セキュリティを維持し、Netlify機能の利便性を活用できます。コードを特定の電子メールサービスと要件に適応させることを忘れないでください。

以上が電子メールを送信するためのNetLify機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

それは&#039; Vueチームにそれを成し遂げてくれておめでとうございます。それは大規模な努力であり、長い時間がかかったことを知っています。すべての新しいドキュメントも同様です。

Redwood.jsと動物相を使用してイーサリアムアプリを構築します Redwood.jsと動物相を使用してイーサリアムアプリを構築します Mar 28, 2025 am 09:18 AM

最近のビットコインの価格が20k $ $ USDを超えており、最近30Kを破ったので、イーサリアムを作成するために深く掘り下げる価値があると思いました

ブラウザから有効なCSSプロパティ値を取得できますか? ブラウザから有効なCSSプロパティ値を取得できますか? Apr 02, 2025 pm 06:17 PM

私はこの非常に正当な質問で誰かに書いてもらいました。 Leaは、ブラウザから有効なCSSプロパティ自体を取得する方法についてブログを書いています。それはこのようなものです。

粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード 粘着性のあるポジショニングとサスのダッシュを備えた積み重ねられたカード Apr 03, 2025 am 10:30 AM

先日、Corey Ginnivanのウェブサイトから、この特に素敵なビットを見つけました。そこでは、スクロール中にカードのコレクションが互いに積み重ねられていました。

CI/CDで少し CI/CDで少し Apr 02, 2025 pm 06:21 PM

「ウェブサイト」は「モバイルアプリ」よりも適していると言いますが、Max Lynchからのこのフレーミングが好きです。

レスポンシブデザインのブラウザを比較します レスポンシブデザインのブラウザを比較します Apr 02, 2025 pm 06:25 PM

これらのデスクトップアプリがいくつかあり、目標があなたのサイトをさまざまな次元ですべて同時に表示しています。たとえば、書くことができます

WordPressブロックエディターでのマークダウンとローカリゼーションを使用します WordPressブロックエディターでのマークダウンとローカリゼーションを使用します Apr 02, 2025 am 04:27 AM

WordPressエディターでユーザーに直接ドキュメントを表示する必要がある場合、それを行うための最良の方法は何ですか?

フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? フレックスレイアウト内の紫色のスラッシュ領域が誤って「オーバーフロー空間」と見なされるのはなぜですか? Apr 05, 2025 pm 05:51 PM

フレックスレイアウトの紫色のスラッシュ領域に関する質問フレックスレイアウトを使用すると、開発者ツールなどの混乱する現象に遭遇する可能性があります(D ...

See all articles