このセクションでは、Oracle Application Expressアプリケーションから電子メールを送信する方法を説明します。
この項に含まれる内容は次のとおりです。
関連項目: Oracle Application Express管理ガイドの「メールの管理」 |
ヒント: Oracle Database 11g リリース1 (11.1)でOracle Application Expressを実行している場合は、外部に電子メールを送信するにはネットワーク・サービスを有効化する必要があります。「Oracle Database 11gのネットワーク・サービスの有効化」を参照してください。 |
アプリケーション・ビルダー・アプリケーションから電子メールを送信する前に、次のステップを実行する必要があります。
Oracle Application Express管理サービスにログインし、インスタンスの設定ページで電子メール設定を構成します。『Oracle Application Express管理ガイド』を参照してください。
さらに、Oracle Database 11g リリース1(11.1)でOracle Application Expressを実行している場合、外部へのメールを有効化する必要があります。Oracle Database 11g リリース1(11.1)では、ネットワーク・サービスと通信する機能はデフォルトで無効になっています。「Oracle Database 11gのネットワーク・サービスの有効化」を参照してください。
ヒント: 新しいワークスペース・リクエストが承認されたときにユーザーにログイン資格証明が電子メールで自動的に送信されるように、Oracle Application Expressを構成できます。詳細は、『Oracle Application Express管理ガイド』の「割当てモードの指定」を参照してください。 |
APEX_MAIL
というPL/SQLパッケージをコールすることによって、アプリケーション・ビルダー・アプリケーションから電子メールを送信できます。このパッケージは、Oracleで提供されるUTL_SMTP
パッケージをベースとして構築されています。このような依存性があるため、APEX_MAIL
を使用するには、UTL_SMTP
パッケージがインストール済で機能している必要があります。
関連項目: UTL_SMTPパッケージの詳細は、Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンスを、「APEX_MAIL」の詳細は、Oracle Application Express APIリファレンスを参照してください。 |
APEX_MAIL
には、電子メールを送信するための次の3つのプロシージャが含まれています。
アプリケーションから外部へ電子メール・メッセージを手動で送信するには、APEX_MAIL.SEND
を使用します。
添付ファイルとしてアプリケーションから外部へ電子メール・メッセージを送信するには、APEX_MAIL.ADD_ATTACHMENT
を使用します。APEX_MAIL.ADD_ATTACHMENT
APEX_MAIL_QUEUE
に格納されたメール・メッセージを配信するには、 APEX_MAIL.PUSH_QUEUE
を使用します。
Oracle Application Expressでは、APEX_MAIL_QUEUE
という名前の表に未送信の電子メール・メッセージが格納されます。APEX_MAIL.PUSH_QUEUE
プロシージャをコールすると、このキューに格納されたメール・メッセージを指定したSMTPゲートウェイに配信できます。
Oracle Application Expressによって、正常に送信されたメッセージのログが、サーバーのローカル時間でのタイムスタンプとともにAPEX_MAIL_LOG
表に作成されます。
次に、シェル・スクリプトを使用したAPEX_MAIL.PUSH_QUEUE
プロシージャのUNIXまたはLinux使用例を示します。
SQLPLUS / <<EOF APEX_MAIL.PUSH_QUEUE; DISCONNECT EXIT EOF
関連項目: Oracle Application Express APIリファレンスの「APEX_MAIL」およびOracle Application Express管理ガイドの「メールの管理」 |