Sun Java System Messaging Server 6 2005Q4 管理ガイド

電子メールから SMS への変換プロセス

電子メールをリモートサイトに送信するには、電子メールをリモート SMSC によって認識される SMS メッセージに変換する必要があります。この節では、SMS チャネルのキューに入れられた電子メールメッセージを 1 つまたは複数の SMS メッセージに変換するプロセスについて説明します。以下で説明されているように、生成される SMS メッセージの最大数、SMS メッセージの合計の長さの最大値、および 1 つの SMS メッセージの最大サイズはオプションで制御します。電子メールメッセージのテキスト部分 (MIME のテキストコンテントタイプ) のみが使用され、変換される部分の最大数も制御できます。

電子メールメッセージのヘッダー行とテキスト部分で使用される文字セットは、すべて Unicode に変換されてから、適切な SMS 文字セットに変換されます。

SMS_TEXT マッピングテーブル (「サイト定義のテキスト変換」を参照) がない場合は、SMS チャネルのキューに入れられた電子メールメッセージに対して図 D–2 で示す処理が実行されます。

図 D–2 SMS チャネルの電子メール処理

SMS チャネルの電子メール処理を示すフローチャート

図 D–3 SMS チャネルの電子メール処理 (続き)

SMS チャネルの電子メール処理を示すフローチャート (続き)

次の手順は、図 D–2 で示されている番号と対応します。

  1. 空の出力バッファーが開始されます。バッファーに使用される文字セットは Unicode です。

  2. 電子メールメッセージの差出人のアドレスは、次の 5 つのソースから 1 つ取り出されます。ソースは優先度の高いものから低いものの順で表示されています。


    1. Resent-from:
    2. From:
    3. Resent-sender:
    4. Sender:
    5. Envelope From:
    

    差出人のアドレスが空の文字列である場合は、差出人のアドレスの代わりに 「FROM_NONE」チャネルオプションの値がバッファーに追加されます。

    差出人のアドレスが空の文字列ではない場合は、「FROM_FORMAT」チャネルオプションを処理した結果および LINE_STOP チャネルオプションの値が出力バッファーに追加されます。

    Resent-from: および Resent-sender: ヘッダー行は、「USE_HEADER_RESENT」オプションの値が 1 である場合にのみ考慮されることに注意してください。それ以外の場合は、Resent- ヘッダー行は無視されます。

  3. Subject: ヘッダー行が存在しない場合または空の場合は、「SUBJECT_NONE」オプションの値が出力バッファーに追加されます。

    それ以外の場合は、「SUBJECT_FORMAT」オプションを処理した結果および 「LINE_STOP」チャネルオプションの値が出力バッファーに追加されます。

  4. テキストメッセージ部分がない場合は、「NO_MESSAGE」チャネルオプションの値が出力バッファーに追加されます。

    テキストメッセージ部分がある場合は、「CONTENT_PREFIX」チャネルオプションの値が出力バッファーに追加されます。

    テキスト以外のメッセージ部分は破棄されます。

  5. 各テキスト部分に関しては、MAX_MESSAGE_PARTS の制限に達していない場合、テキスト部分は Unicode にデコードされ、LINE_STOP チャネルオプションの値とともにバッファーに追加されます。

  6. 結果の出力バッファーは、Unicode から SMSC のデフォルトの文字セットまたは UCS2 (UTF-16) のどちらかに変換されます。SMSC のデフォルトの文字セットは、「SMSC_DEFAULT_CHARSET」オプションを使用して指定します。

  7. 変換後は、「MAX_MESSAGE_SIZE」のバイト数を超えないように切り捨てられます。

  8. 「電子メールから SMS への変換プロセス」で変換された文字列は、1 つまたは複数の SMS メッセージに分割されます。各 SMS メッセージは、MAX_PAGE_SIZE のバイト数以内の長さになります。最大で 「MAX_PAGES_PER_MESSAGE」の SMS メッセージが生成されます。


    注 –

    電子メールメッセージは複数の受取人を持つ場合もあるので、手順 6 〜 手順 8 は受取人のアドレスごとに実行される必要があります。このとき、4 ページの「電子メールをチャネルに送信する」で説明されている MAXLENMAXPAGES または PAGELEN 属性が使用されます。


電子メールメッセージ処理の例

たとえば、チャネルのデフォルトの設定で次のような電子メールメッセージを処理するとします。


From: John Doe 
To: 1234567@sms.siroe.com
Subject: Today’s meeting
Date: Fri, 26 March 2001 08:17

The staff meeting is at 14:30 today in the big conference room.

この電子メールメッセージは次のように SMS メッセージに変換されます。

jdoe@siroe.com (Today’s meeting) The staff meeting is at 14:30 today in the big conference room.

別の一連のオプション設定での処理を次に示します。


CONTENT_PREFIX=Msg:
FROM_FORMAT=From:${pa}
SUBJECT_FORMAT=Subj:$s

この設定では以下の結果になります。

From:John Doe Subj:Today’s meeting Msg:The staff meeting is at 14:30 today in the big conference room.