電子メールをリモートサイトに送信するには、電子メールをリモート SMSC によって認識される SMS メッセージに変換する必要があります。この節では、SMS チャネルのキューに入れられた電子メールメッセージを 1 つまたは複数の SMS メッセージに変換するプロセスについて説明します。次に説明するように、生成される SMS メッセージの最大数、SMS メッセージの合計の長さの最大値、および 1 つの SMS メッセージの最大サイズはオプションで制御します。電子メールメッセージのテキスト部分 (MIME のテキストコンテントタイプ) のみが使用され、変換される部分の最大数も制御できます。
電子メールメッセージのヘッダー行とテキスト部分で使用される文字セットは、すべて Unicode に変換されてから、適切な SMS 文字セットに変換されます。
SMS_TEXT マッピングテーブル (「C.2.5 サイト定義のテキスト変換」を参照) がない場合は、SMS チャネルのキューに入れられた電子メールメッセージに対して図 C–2 で示す処理が実行されます。
次の手順は、図 C–2 で示されている番号と対応します。
空の出力バッファーが開始されます。バッファーに使用される文字セットは Unicode です。
電子メールメッセージの差出人のアドレスは、次の 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- ヘッダー行は無視されます。
Subject: ヘッダー行が存在しない場合または空の場合は、「SUBJECT_NONE」オプションの値が出力バッファーに追加されます。
それ以外の場合は、「SUBJECT_FORMAT」オプションを処理した結果および 「LINE_STOP」チャネルオプションの値が出力バッファーに追加されます。
テキストメッセージ部分がない場合は、「NO_MESSAGE」チャネルオプションの値が出力バッファーに追加されます。
テキストメッセージ部分がある場合は、「CONTENT_PREFIX」チャネルオプションの値が出力バッファーに追加されます。
テキスト以外のメッセージ部分は破棄されます。
各テキスト部分に関しては、MAX_MESSAGE_PARTS の制限に達していない場合、テキスト部分は Unicode にデコードされ、LINE_STOP チャネルオプションの値とともにバッファーに追加されます。
結果の出力バッファーは、Unicode から SMSC のデフォルトの文字セットまたは UCS2 (UTF-16) のどちらかに変換されます。SMSC のデフォルトの文字セットは、「SMSC_DEFAULT_CHARSET」オプションを使用して指定します。
変換後は、「MAX_MESSAGE_SIZE」のバイト数を超えないように切り捨てられます。
「C.2.2 電子メールから SMS への変換プロセス」で変換された文字列は、1 つまたは複数の SMS メッセージに分割されます。各 SMS メッセージは、MAX_PAGE_SIZE のバイト数以内の長さになります。最大で 「MAX_PAGES_PER_MESSAGE」の SMS メッセージが生成されます。
電子メールメッセージは複数の受取人を持つ場合もあるので、手順 6 〜 8 は受取人のアドレスごとに実行される必要があります。このとき、4 ページの「電子メールをチャネルに送信する」で説明されている MAXLEN、MAXPAGES または 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.