0) { obj.className = "imgborder_on"; } } } function hideImage(obj) { if (obj.className.substr(0, 10) == "imgborder_") { obj.src = eyeglass.src; obj.className = "imgborder_off"; } } function showAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { showImage(imgs[i]); } } function hideAllImages() { imgs = document.images; for (i=0; i < imgs.length; i++) { hideImage(imgs[i]); } } //-->

Oracle Application Express 3.1における電子メールの添付ファイルの送信

目的

このチュートリアルでは、Oracle Application Express 3.1で電子メールの添付ファイルを送信できるページの構築方法について説明します。

所要時間

約45分

トピック

このチュートリアルでは、以下のトピックについて説明します。

概要
前提条件
Send EmailページおよびHTMLリージョンの作成
電子メール情報を格納するアイテムの作成
電子メールを送信するボタンとプロセスの作成
Send Emailページのテスト
まとめ
関連情報

スクリーンショットの表示

このアイコンの上にカーソルを置くと、 すべてのスクリーンショットがロードし、表示されます。 (警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)

注:各手順に関連したスクリーンショットのみをロードして表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 個々のスクリーンショットはクリックすると、非表示になります。

概要

Oracle Application Express 3.1では、Application ExpressメールAPIの APEX_MAIL.ADD_ATTACHMENTを使用して送信される電子メールに添付ファイルを追加できます。

Oracle Application Express 3.1の新機能に関する詳細は、 ここ(英語)で確認してください。

トピック・リストに戻る

前提条件

このチュートリアルを始める前に以下を確認してください。

1.

Oracle Database 9.2以上がインストールされ、データベースにOracle Spatialが構成されていること。

2.

Oracle Application Express 3.1がダウンロードおよび構成されていること。

3.

ここからOEHR Sample Objectsパッケージ・アプリケーションをダウンロードして、Oracle Application Express 3.1インスタンスにインポートしていること。

4.

このチュートリアルを実行するために必要なファイルを含む apexnf.zipファイルをダウンロードおよび解凍していること。

5.

このチュートリアルの前に、『 Oracle Application Express 3.1のインタラクティブ・レポートの構築およびカスタマイズ』および『 Oracle Application Express 3.1のBLOBデータの定義および表示』チュートリアルを実行する必要があります。

または、Oracle Application Expressのパッケージ・アプリケーションとして、Oracle by Example(OBE)のNew Featuresアプリケーションをインポートできます。 apexnf.zipファイルをダウンロードおよび解凍して、 blobobe_packagedapp.sqlパッケージ・アプリケーション・ファイルをインポートしてください。 また、 OEHR_EMPLOYEES表を変更して、BLOBデータをロードする必要があります。 PHOTO_LOCディレクトリを作成してファイルを配置するために、 dog.gifファイルが格納された場所のパスを指定するよう addblobdata.sqlスクリプトを変更します。スクリプト・ファイルをダウンロードおよび解凍した場所から、SQL*Plusセッションを開いて、次のコマンドを実行します。

                                           
connect system
grant create any directory to <workspace name>;

connect <workspace name>
@addblobdata
                                        

注:アプリケーション番号とページ番号は、スクリーンショットの表示と若干異なる場合があります。

トピック・リストに戻る

Send EmailページおよびHTMLリージョンの作成

添付ファイルのある電子メールをユーザーが送信できる、ページとリージョンを作成します。 以下の手順を実行します。

1.

New Featuresアプリケーション・ページへ移動します。 「 Create Page」をクリックします。

 

2.

Blank Page」をクリックします。

 

3.

Next」をクリックします。

 

4.

Nameに Send Email Attachmentと入力して、「 Next」をクリックします。

 

5.

デフォルト値を受け入れて、「 Next」をクリックします。

 

6.

Finish」をクリックします。

 

7.

ページが作成されました。 次に、リージョンを追加する必要があります。 「 Edit Page」をクリックします。

 

8.

Regionsの下の Createアイコン「 」をクリックします。

 

9.

HTML」アイコンをクリックします。

 

10.

HTML」アイコンを再度クリックします。

 

11.

Titleに Email Attachmentと入力して、「 Create」をクリックします。

 

12.

ページとリージョンが作成されました。 次の項では、添付ファイルのある電子メールを送信するために、入力する必要があるアイテムを作成します。

 

トピック・リストに戻る

電子メール情報を格納するアイテムの作成

添付ファイルのある電子メールを送信するために必要なすべてのアイテムを作成します。 以下の手順を実行します。

1.

Itemsの下の Createアイコン「 」をクリックします。

 

2.

複数のアイテムを作成する必要があるので、「 Create Multiple Items using Drag and Drop Layout」リンクを選択します。

 

3.

Create Multiple Items >」をクリックします。

 

4.

Textアイコン「 」を選択して、最初の行にドラッグ・アンド・ドロップします。 Item Nameに P<#>_EMAIL、Labelに Email Addressと入力します。

 

5.

2行目に Textアイコン「 」をドラッグ・アンド・ドロップします。 Item Nameに P<#>_FROM、Labelに Fromと入力します。

 

6.

次のように残りのアイテムを作成して、「 Next」をクリックします。

アイテムタイプ アイテム名 ラベル
Text P<#>_SUBJECT Subject
Check box P<#>_IMAGE Attachment Images
Textarea P<#>_BODY Message Body

 

7.

Apply Changes」をクリックします。

 

8.

P<#>_IMAGE」リンクを選択します。

 

9.

LOV」タブを選択します。

 

10.

添付ファイルとして選択し、電子メールで送信する従業員の画像リストを設定します。 次のLOVの定義を入力して、「 Apply Changes」をクリックします。 注:画像列の長さが0ではないということを以下のコードで確認します。該当する場合、画像列からBLOBが選択されます。

                                           
select filename||'</br>'||
       decode(nvl(dbms_lob.getlength(photo),0),0,null,
              '<img src="'||apex_util.get_blob_file_src('P3_PHOTO',employee_id)
                ||'" height="128" width="128" />') img,
       employee_id r
 from oehr_employees 
where mimetype like 'image%'
                                            
order by 1

 

11.

すべてのアイテムが定義されました。 次の項では、添付ファイルのある電子メールを受信者に送信するボタンとプロセスを作成します。

 

トピック・リストに戻る

電子メールを送信するボタンとプロセスの作成

この項で作成されるボタンとプロセスによって、添付ファイルのある電子メールの送信を処理します。 以下の手順を実行します。

1.

Buttonsの下の「 Create」アイコンをクリックします。

 

2.

デフォルト値を受け入れて、「 Next」をクリックします。

 

3.

Create a button displayed among this region's items」を選択し、「 Next」をクリックします。

 

4.

名前に P<#>_SEND_EMAIL、Labelに Send Email、Requestに EMAILと入力します。 Button Styleに「 HTML Button」を選択して、「 Create Button」をクリックします。

 

5.

ボタンが作成されました。 これによって、ボタンを押すと起動するプロセスを作成できます。 Page ProcessingのProcessesで「 Create」アイコンをクリックします。

 

6.

PL/SQL」プロセス・カテゴリをクリックします。

 

7.

Nameに EMAIL with Attachmentsと入力して、「 Next」をクリックします。

 

8.

PL/SQL Page Processリージョンに次のコードを入力します。 注:現在ページ4で作業していない場合、4から現在のページ番号に変更してください。 たとえば、ページ5で作業している場合、P4_IMAGEをP5_IMAGEに変更します。 次に、「 Next」をクリックします。

                                           
DECLARE
                                            
l_id number;
l_index number;
l_vc_arr2 APEX_APPLICATION_GLOBAL.VC_ARR2;
BEGIN
l_id := APEX_MAIL.SEND(
p_to => :P4_EMAIL,
p_from => :P4_FROM,
p_subj => :P4_SUBJECT,
p_body => :P4_BODY);
l_vc_arr2 := APEX_UTIL.STRING_TO_TABLE(:P4_IMAGE);
FOR i_index IN 1..l_vc_arr2.count LOOP
FOR c1 in (select filename, photo, mimetype from oehr_employees where employee_id = l_vc_arr2(i_index)) loop
APEX_MAIL.ADD_ATTACHMENT( p_mail_id => l_id,
p_attachment => c1.photo,
p_filename => c1.filename,
p_mime_type => c1.mimetype);
END LOOP c1;
END LOOP i_index;
COMMIT;
END;

このプロセスのPL/SQLコードでは、既存の機能であるAPEX_MAIL.SENDを使用して、メインの電子メールを作成します。ただし、添付ファイルのある電子メールに関連したIDを取得することになります。 コロン区切りの文字列として、:P4_IMAGESに格納されている選択したイメージのIDが、組込みのAPEX_UTIL.STRING_TO_TABLEによって文字列から表に変換され、この表が配列にロードされます。 元表(OEHR_EMPLOYEES)から選択した各イメージの詳細情報を取得します。1つずつ新しいプロシージャ(APEX_MAIL.ADD_ATTACHMENT)が実行され、選択したイメージが元の電子メールに添付されます。

注:ここではテキスト本文を使用しています。テキストが書式化されたHTMLの場合、p_body_htmlを使用して送信します。

 

9.

Success MessageとFailure Messageを入力して、「 Next」をクリックします。

 

10.

When Button Pressedに「 P4_SEND_EMAIL」を選択して、「 Create Process」をクリックします。

 

11.

また、プロセスの完了時に成功メッセージを含むようブランチを変更する必要があります。 デフォルトではこのオプションは選択されていません。 Branchesの下の「 Go to Page」リンクを選択します。

 

12.

include process success message」チェック・ボックスを選択して、「 Apply Changes」をクリックします。

 

13.

ブランチが正しく変更されました。 次の項では、ページを実行してテストします。 『 Oracle Application Express 3.1のBLOBデータの定義および表示』チュートリアルでデータベースに1つの画像だけを追加したので、Send Emailページをテストする前に別の画像を追加します。 Maintain Employee Informationのページ番号(ほとんどの場合2)を選択して、「 Go」をクリックします。

 

トピック・リストに戻る

Send Emailページのテスト

ページをテストして、添付ファイルのある電子メールを送信できます。 以下の手順を実行します。

1.

Run」をクリックして、このページを実行します。

 

2.

別の従業員の「 Edit」アイコンを選択して、Employee Detailsページへ移動します。

 

3.

Photoの「 Browse...」をクリックします。

 

4.

前提条件にあるダウンロードした apexnf.zipファイルのリストから「 flowers-01_small.gif 」ファイルを選択し、「 Open」をクリックします。 「 Apply Changes」をクリックします。

 

5.

これで、Send Email Attachmentsページを実行できます。 開発者ツールバーにある「 Application」リンクをクリックします。

 

6.

Send Email Attachments」ページを選択します。

 

7.

Run Page」をクリックします。

 

8.

電子メール・アドレス、Fromの電子メール・アドレス、Subjectを入力し、「 dog.gif 」および「 flowers-01_small.gif 」のチェック・ボックスを選択して、Message Bodyに文字を入力します。 「 Send Email」をクリックします。

 

9.

電子メールが正しく送信されたことを確認します。

 

10.

受信した電子メールは次のイメージのようになります。

 

トピック・リストに戻る

まとめ

このチュートリアルでは、添付ファイルのある電子メールを送信するために必要なすべてのアイテムを含んだページを作成する方法を学習しました。

トピック・リストに戻る

関連情報

Oracle Application Expressの詳細は、次のドキュメントで確認できます。

関連ドキュメント

説明

オンライン・ヘルプ

このヘルプへアクセスするには、Oracle Application Expressの上部右隅に表示されている「 Help」ボタンをクリックしてください。 関連するトピックを検索します。

リリース・ノート

このノートには、Oracle Application Expressドキュメントに掲載されていない重要な情報が含まれています。

インストレーション・ガイド

このガイドでは、Oracle Application Expressのインストール方法および構成方法を説明します。

2日で開発者ガイド

ここでは、このガイドを使用した開発環境の設定方法、またはホストのデモ環境へのアクセス方法が示され、初期アプリケーションの構築、変更、プレビューについて段階的に説明します。

ユーザーズ・ガイド

このガイドでは、Oracle Application Express開発環境を使用して、データベース中心のWebアプリケーションを構築およびデプロイする方法を説明します。 Oracle Application Expressを使用して単独のOracleデータベースを共有サービスへと移行することで、分割されたデータベースでアプリケーションを実行している場合と同様に、アプリケーションに対し、複数のワークグループによる構築およびアクセスが可能となります。

アドバンスト・チュートリアル

上級チュートリアルは、Oracle Application Express開発環境を使用して、さまざまなアプリケーション・コンポーネントおよびすべてのアプリケーションを作成する方法に関して、段階的な手順で説明します。

トピック・リストに戻る

このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。

 

 

 

false ,,,,,,,,,,,,,,,