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分
トピック
このチュートリアルでは、以下のトピックについて説明します。
スクリーンショットの表示
このアイコンの上にカーソルを置くと、
すべてのスクリーンショットがロードし、表示されます。
(警告:すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によってはレスポンス・タイムが遅くなる場合があります。)
注:各手順に関連したスクリーンショットのみをロードして表示する場合は、それぞれの手順にあるアイコンの上にカーソルを置いてください。 個々のスクリーンショットはクリックすると、非表示になります。
概要
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開発環境を使用して、さまざまなアプリケーション・コンポーネントおよびすべてのアプリケーションを作成する方法に関して、段階的な手順で説明します。
|
トピック・リストに戻る
このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。
|