1. HTML メール連携¶
本章では、Senju Enterprise Navigator経由のデータ登録によるHTML メール連携の利用方法を記載します。
1.1 Senju Enterprise Navigator経由のデータ登録でHTML メール連携¶
Senju Enterprise Navigatorからのイベント連携機能を使用することで、データ登録を行うことができます。
※本件マニュアルではHTMLメール連携の利用方法を記載します。他の項目を登録する場合はコマンドリファレンスを参照してください。
1.1.1 リッチテキスト項目への取り込み指定方法¶
1.1.1.1 テキストメール¶
テキストメールを受信する場合、以下のフィールドにテキストデータを連携することで、リッチテキスト項目に装飾されていないテキスト情報を登録することができます。
-
指定可能な項目:
画面項目名 フィールド名 指定形式 制限値(byte) リッチテキスト1 リッチテキスト1 全半角 10000000 リッチテキスト1(テキストのみ) 全半角 4000 リッチテキスト2 リッチテキスト2 全半角 10000000 リッチテキスト2(テキストのみ) 全半角 4000 経過リッチテキスト 経過リッチテキスト 全半角 10000000 経過リッチテキスト(テキストのみ) 全半角 4000
1.1.1.2 HTMLメール¶
HTMLメールを受信する場合、以下のフィールドにSenju/ENのメールメッセージが保持している指定形式のデータを連携することで、リッチテキスト項目にHTMLメールと同様の装飾されたテキスト情報および画像情報を登録することができます。
-
指定可能な項目:
画面項目名 フィールド名 指定形式 制限値(byte) リッチテキスト1 リッチテキスト1HTMLファイル HTMLファイルのフルパス 100 リッチテキスト1HTMLCharset HTMLファイルのエンコード - リッチテキスト1挿入ファイル HTMLファイル内のインライン画像のフルパス 100 リッチテキスト1ファイル名 HTMLファイル内のインライン画像のファイル名、文字列型 4000 リッチテキスト1Content-ID HTMLファイル内のインライン画像のContent-ID、文字列型 4000 リッチテキスト2 リッチテキスト2HTMLファイル HTMLファイルのフルパス 100 リッチテキスト2HTMLCharset HTMLファイルのエンコード - リッチテキスト2挿入ファイル HTMLファイル内のインライン画像のフルパス 100 リッチテキスト2ファイル名 HTMLファイル内のインライン画像のファイル名、文字列型 4000 リッチテキスト2Content-ID HTMLファイル内のインライン画像のContent-ID、文字列型 4000 経過リッチテキスト 経過リッチテキストHTMLファイル HTMLファイルのフルパス 100 経過リッチテキストHTMLCharset HTMLファイルのエンコード - 経過リッチテキスト挿入ファイル HTMLファイル内のインライン画像のフルパス 100 経過リッチテキストファイル名 HTMLファイル内のインライン画像のファイル名、文字列型 4000 経過リッチテキストContent-ID HTMLファイル内のインライン画像のContent-ID、文字列型 4000
※サンプルルールは「1.2.1 Senju Enterprise Navigator でのルール記載」を参照してください。
制限事項
使用可能な漢字コードは、第一水準および第二水準、およびWindows-31J (MS932) で表示可能な漢字です。
制限事項
HTMLファイルのエンコード(リッチテキスト HTMLCharset)には、Senju Enterprise Navigator側で解析し取得されたメールのエンコードなどの値を指定してください。
制限事項
リッチテキスト項目に設定した値の中にShift_JISで表示できない(機種依存)文字が含まれる場合、入力形式がHTML形式の場合、画面表示時には正常に入力した文字形式で表示されます。 ただし、入力形式がテキスト形式の場合、画面上ではエスケープされた文字が表示されることがあります。
1.2 サンプルルール¶
1.2.1 Senju Enterprise Navigator でのルール記載¶
制限事項
本サンプルルールが動作するSenju Enterprise Navigatorのバージョンは2021.0.0.0以降となります。
HTMLメール内のHTMLファイルの数だけ、以下のメールメッセージのプロパティにデータが格納されますので、 「1.1.1.2 HTMLメール」の方法の通りにフィールドにデータを指定することで取り込みが可能です。
| プロパティ名(リスト) | プロパティ名 | 形式 |
|---|---|---|
| HTMLファイルリスト | 出力ファイル名 | HTMLファイルのフルパス |
| mailHtmlCharset | タグ値 | HTMLファイルのエンコード |
| 挿入ファイルリスト | 出力ファイル名 | HTMLファイル内のインライン画像のフルパス |
| 挿入ファイルリスト | 挿入ファイル名 | HTMLファイル内のインライン画像のファイル名、文字列型 |
| 挿入ファイルリスト | Content-ID | HTMLファイル内のインライン画像のContent-ID、文字列型 |
自動メール取り込みを行う際にSENルールでテキストメールかHTMLメールかを判別したうえで、メールの情報をリッチテキスト項目に登録するルールのサンプルを以下に記載します。
var pd = globalContext.getProducer( "SSM", null );
var fields = new Array();
var vals = new Array();
var actInfo = new Array("イベント送信実行結果");
var t = globalContext.currentTime;
var ymd = t.toString().substr(0,8);
var hms = t.toString().substr(8,4);
fields.push("データ種別ID");
vals.push("01000001");
fields.push("システム");
vals.push("SSM初期システム");
fields.push("タイトル");
vals.push("EN Rule HTML @ " + ymd + " " + hms);
fields.push("ステータス");
vals.push("新規");
fields.push("起票者");
vals.push("SSM");
fields.push("登録者");
vals.push("SSM");
fields.push("エスカレーション先");
vals.push("SSM");
fields.push("経過内容");
vals.push(currentEvent.prop("メール本文"));
fields.push("経過リッチテキスト(テキストのみ)");
vals.push(currentEvent.prop("メール本文"));
if( currentEvent.prop("HTMLファイル数") == 0 ){
fields.push("経過リッチテキスト");
vals.push(currentEvent.prop("メール本文"));
}else if( currentEvent.prop("HTMLファイル数") > 0 ){
for (var idhtml = 0 ; idhtml <currentEvent.prop("HTMLファイル数") ;idhtml++ ){
fields.push("経過リッチテキストHTMLファイル");
vals.push(currentEvent.prop2("HTMLファイルリスト", idhtml).prop("出力ファイル名"));
fields.push("経過リッチテキストHTMLCharset");
vals.push(currentEvent.getTagByKey("mailHtmlCharset").prop2("タグ値", idhtml));
}
if( currentEvent.prop("挿入ファイル数") > 0 ){
for (var idimg = 0 ; idimg <currentEvent.prop("挿入ファイル数") ;idimg++ ){
fields.push("経過リッチテキスト挿入ファイル");
vals.push(currentEvent.prop2("挿入ファイルリスト", idimg).prop("出力ファイル名"));
fields.push("経過リッチテキストファイル名");
vals.push(currentEvent.prop2("挿入ファイルリスト", idimg).prop("挿入ファイル名"));
fields.push("経過リッチテキストContent-ID");
vals.push(currentEvent.prop2("挿入ファイルリスト", idimg).prop("Content-ID"));
}
}
}
for ( var i = 0; i < 1; i++ ){
var execResult = pd.spAsyncSendEvent( "プロセス管理", fields, vals, null, actInfo );
}
1.2.2 HTMLメール取り込みサポート対象HTMLフォーマット¶
1.2.2.1 メール形式¶
リッチテキスト項目にHTMLメールのデータを登録する場合、HTMLファイルのエンコード(リッチテキスト HTMLCharset)を指定するか、 メールのHTMLヘッダーに「charset」が含まれている必要があります。
Info
リッチテキスト登録時、メールの内容を文字コード「SHIFT_JIS」に変換するために、メール内のHTMLファイルの文字コードを取得する必要があります。HTMLヘッダーに以下のような「charset」がある場合文字コードを取得できます。
<meta content="charset=iso-2022-jp">
1.2.2.2 サポート対象文字コード¶
以下に現在イベント連携デーモンでサポートされている「charset」の種類を示します。
これらに該当する場合、HTMLメールデータ内の文字はすべて文字コード「SHIFT_JIS」に変換され文字化けすることなく参照できます。
※HTMLファイルのエンコード(リッチテキストHTMLCharset)では、下記の文字コードしか指定できません。
| charsetサポート対象 |
|---|
| ISO-2022-JP |
| UTF-8 |
| SHIFT_JIS |
| US-ASCII |
制限事項
上記以外のcharsetが設定されているHTMLデータについてはすべて無視しリッチテキスト項目には登録されません。
制限事項
charsetがHTMLデータ内部の文字コードと違う場合には文字化けや登録エラーが発生する可能性があります。
1.3 制限事項¶
- Outlookから送信したHTMLメールについて、メール本文内にインライン画像データが存在しており、かつ、添付ファイルに画像データが添付されていないメールをSenju Enterprise Navigatorで受信する場合、メール本文内のインライン画像データのファイル情報が、添付ファイルと挿入ファイル両方のフィールドに登録されます。必要に応じてSENルールで必要なフィールドのみ切り出して利用するようお願いします。