![]() ![]() ![]() ![]() |
注意 : | 電子メール コントロールは、WebLogic Integration の使用許諾を受けた場合にのみ、BEA Workshop for WebLogic Platform で使用できます。 |
電子メール コントロールを使用すると、WebLogic Integration ビジネス プロセスでは、特定の送り先に電子メールを送信できます。電子メールを受信するには、電子メール イベント ジェネレータを使用する必要があります。イベント ジェネレータの作成および管理には WebLogic Integration Administration Console を使用します。イベント ジェネレータを作成および管理する方法については、『WebLogic Integration Administration Console の使用』の「イベント ジェネレータ」(下記 URL) を参照してください。
http://edocs.beasys.co.jp/e-docs/wli/docs92/adminhelp/evntgen.html
コントロール インスタンスをビジネス プロセスに追加する方法については、「ビジネス プロセスでコントロールを使用する」を参照してください。
電子メール コントロールを使用すると、BEA Workshop for WebLogic Platform の Web サービスおよびビジネス プロセスでは、特定の送り先に電子メールを送信できます。電子メール メッセージの本体には、テキスト (プレーン、HTML、または XML) または XML オブジェクトを使用できます。このコントロールはカスタマイズ可能であり、電子メール送信プロパティをアノテーション内で指定したり、XML 変数として渡される動的なプロパティを使用できます。
電子メール コントロールは柔軟性が高いため、さまざまなコンテンツ タイプや、本体と添付ファイルのさまざまな組み合わせを送信できます。電子メール コントロールを使用して送信できる電子メール メッセージの例については、「サンプル電子メール メッセージ」を参照してください。
ビジネス プロセスに電子メール コントロールを追加する場合、既存の電子メール コントロール拡張ファイル (.java
) を使用することも、新しく作成することもできます。選択するメッセージ本体のデータ型によって、.java
ファイルには次のいずれかの sendEmail
ユーティリティ メソッドが含まれます。(2 つのメソッドの本体の型が異なることに注意してください)。フィールドの値は、.java
ファイル内でクラスのアノテーションとして指定できます。
/**
* @EmailControl.send to="{to}"
* cc="{cc}"
* bcc="{bcc}"
* subject="{subject}"
* body="{body}"
* attachments="{attachments}"
* content-type="text/plain"
*/
void sendEmail(String to, String cc, String bcc, String subject,
String body, String attachments);
/**
* @EmailControl.send to="{to}"
* cc="{cc}"
* bcc="{bcc}"
* subject="{subject}"
* body="{body}"
* attachments="{attachments}"
* content-type="text/xml"
*/
void sendEmail(String to, String cc, String bcc, String subject,
XmlObject body, String attachments);
アプリケーションの要件に合わせて、基本コントロールをカスタマイズできます。基本コントロールを拡張する場合、電子メールの送信プロパティをアノテーション内に指定するメソッドを追加できます。カスタマイズされたメソッドで、同じ数のパラメータを指定する必要がありません。
/*
* カスタム電子メール コントロール。
* @EmailControl
* smtp-address = "smtp.myorg.com:25"
* from-address = "joe.user@myorg.com"
* from-name = "Joe User"
* reply-to-address = "reply@myorg.com"
* reply-to-name = "Customer Service"
* header-encoding=""
* username=""
* password=""
*/
public interface MyEmailControl extends EmailControl,com.bea.control.ControlExtension
{
/**
* @EmailControl.send to="{to}"
* subject="Thanks for your order"
* body="{body}"
* attachments="/weblogic/samples/order.txt"
*
*/
public void sendOrderConfirmation(String to,
String body);
}
動的なプロパティを使用して、電子メール コントロールのクラスレベルのアノテーションをオーバーライドできます。動的なプロパティを使用するには、コントロールの動的なプロパティ スキーマに準拠する XML 変数を、コントロールの setProperties()
メソッドに渡します。getProperties()
メソッドを使用して、現在のプロパティ設定を取得できます。
setProperties()
メソッドは EmailControlPropertiesDocument パラメータを受け付けます。EmailControlPropertiesDocument タイプは、DynamicProperties.xsd
で定義されている対応するスキーマ要素から生成される XML Bean クラスです。DynamicProperties.xsd
ファイルは、新しいプロセス アプリケーションのシステム フォルダ内、またはスキーマ プロジェクトのシステム フォルダ内にあります。
以下は、動的なプロパティの設定に使用する XML 変数の例です。
<EmailControlProperties>
<smtp-address>myorg.mymailserver.com:25</smtp-address>
<from-name>Joe User</from-name>
<from-address>joe.user@myorg.com</from-address>
<reply-to-address>reply@myorg.com</reply-to-address>
<reply-to-name>Joe User</reply-to-name>
</EmailControlProperties>
ここでは、新しい電子メール コントロールを作成する方法について説明します。
電子メール コントロールについては、「電子メール コントロール」を参照してください。
WebLogic Workshop コントロールについては、「ビジネス プロセスでコントロールを使用する」を参照してください。
注意 : | データ パレット ビューが BEA Workshop for WebLogic Platform に表示されない場合は、メニュー バー![]() ![]() ![]() |
[Insert control: 電子メール] ダイアログ ボックスが表示されます。
返信情報 (名前とアドレス) または SMTP 認証パラメータ (ユーザ名と、パスワードまたはパスワード エリアス) を指定する必要がある場合は、[アノテーション] ペインを使用して、値を以下の省略可能なパラメータに代入します。
from-name
、reply-to-name
、to
、bc
。bcc
、subject
、および attachments
など) に対して使用されるエンコーディングを指定する文字列。ヘッダ エンコーディングを指定しない場合は、システムのデフォルト エンコーディングが使用されます。smtp-username
に関連付けられたパスワード。smtp-username
に関連付けられたパスワード エリアス。エリアスは、パスワード ストア内でパスワードをルックアップする際に使用されます。この属性は、smtp-password
属性と相互に排他的です。注意 : | [アノテーション] ペインが BEA Workshop for WebLogic Platform に表示されない場合![]() ![]() ![]() ![]() |
電子メール コントロールで使用できるメソッドについては、EmailControl インタフェースを参照してください。
以下のサンプルでは、電子メール コントロールを使用して送信できるメッセージのタイプを示します。
指定された String タイプの本体が HTML ドキュメントの場合、content-type アノテーション属性を設定して次のような電子メールを生成できます。
To: user@myorg.com
Subject: Thanks for your order
Content-Type: text/html
<html>
<head>
<title>Thanks for your order</title>
...
添付ファイル付きのメッセージ本体の場合、電子メール コントロールでは、メッセージ本体を含む multipart/mixed
メッセージが最初のパートとして生成されます。添付ファイルは、ファイル名サフィックスに対応するコンテンツ タイプをもつ MIME パートとして追加されます。表 6-1 に、一般的に使用されるファイル サフィックスのリストを示します。
不明な拡張子をもつ添付ファイルは application/octet-stream
MIME タイプを受け取ります。また、次の例のように、電子メール コントロールでは、バイナリ データを含む添付ファイルに対して base64 エンコードが使用されます。
To: user@myorg.com
Subject: Thanks for your order
Content-Type: multipart/mixed;
boundary="------------F141E40DDE2763DF92513DD4"
------------F141E40DDE2763DF92513DD4
Content-type: text/plain; charset=us-ascii
Dear Sir,
Please see the attached diagram and brochure.
Thanks,
Customer Service
------------F141E40DDE2763DF92513DD4
Content-type: image/jpeg;
name="picture.jpg"
Content-Disposition: attachment; filename="picture.jpg"
Content-transfer-encoding: base64
/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlA
...
------------F141E40DDE2763DF92513DD4
Content-Type: application/pdf;
name="brochure.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="brochure.pdf"
JVBERi0xLjIgDSXi48/TDQogDTEwIDAgb2JqDTw8DS9MZW5ndGggMTEgMCBSDS9Ga
...
------------F141E40DDE2763DF92513DD4
本体がなく、添付ファイルが 1 つある電子メール コントロール送信アクションでは multipart/mixed
メッセージが生成されません。これにより、メッセージ本体に XML ドキュメントを含める必要がある場合のメール交換シナリオをサポートします。
To: inbox@myorg.com
Subject: new XML order
Content-Type: application/xml
<?xml version="1.0" ?>
<PurchaseOrder>
...
例外ハンドラを使用して、電子メール コントロールにより送出された例外の捕捉と処理を行うことができます。
1 つまたは複数の To
受信者または cc
受信者がローカル メール サーバにより無効と判断された場合、直ちに例外が送出されます。ただし、無効な受信者を送り先のメール サーバでしか検出できない場合は、電子メール コントロールにより対処できません。From
アドレスは、送信者に返送されたメッセージを処理するためのメールボックスにすることをお勧めします。
1 つまたは複数の添付ファイル名が見つからない場合は、例外が送出されます。
![]() ![]() ![]() |