2023年1月27日金曜日

Twilio SendGridをOracle APEXから呼び出してみる

 Twilio SendGridを使用したメール送信を、Oracle APEXより行ってみました。

Twilio SendGridの無料アカウントを、以下のサイトより作成しました。クレジット・カードの入力は求められていません。

Pricing and Plans | SendGrid


アカウントを作成すると、各種の設定を行なう画面を開きます。

サイド・メニューにあるEmail APIIntegration Guideを開き、Web APIChooseをクリックします。

Web APIを使用するために必要な手順が表示されます。


cURLが一番PL/SQLでのアクセスの参考になるため、cURLを選択します。

Chooseをクリックします。


作業手順が表示されます。

My First API Key Name名前を入力し、Create Keyをクリックします。

SendGridを呼び出す際に使用するAPIキーが生成されます。


APIキーが生成されます。生成されたAPIキーをクリップボードにコピーして保存しておきます。再度表示することはできないので、忘れずに保存します。

Oracle APEXでWeb資格証明を作成する際に使用します。


作成したAPIキーはSettingsAPI Keysより、権限の更新や削除することができます。APIキー自体を表示することはできません。


Twilio SendGridのAPIキーが作成できました。

SettingsSender Authenticationの設定も行います。DNSの設定ができない場合は、Single Sender Verificationの設定を行なうことになるはずです。


Oracle APEXでの作業に移ります。

ワークスペース・ユーティリティよりWeb資格証明を開きます。


作成済みのWeb資格証明が一覧されます。作成をクリックします。


名前Twilio SendGridとしました。静的識別子TWILIO_API_KEYとしています。静的識別子は、APEX_WEB_SERVICE.MAKE_REST_REQUESTの引数p_credential_static_idとして指定します。

認証タイプとしてHTTPヘッダーを選択します。資格証明名はHTTPヘッダー名であるAuthorizationを記述します。

資格証明シークレットはAuthorizationヘッダーに与える値になります。Bearerで始めて空白で区切り、Twilio SendGridのAPIキーを続けます。

Bearer SendGridのAPIキー

URLに対して有効は、SendGridのエンドポイントとなるURLを指定します。

https://api.sendgrid.com/v3/mail/send

以上で作成をクリックします。


SQLコマンドを開き、以下のPL/SQLコードを実行します。l_recipients、l_senderを変更します。l_senderについては、Twilio SendGrid側でSingle Senderとして検証したメール・アドレスを指定します。

正常に終了すると、応答となるデータは返ってこないようです。


件名がSending with SendGrid is Fun、本文がand easy to do anywhere, even with PL/SQLというメールの受信を確認できたら、Twilio SendGridの動作確認は終了です。