付録C.1 処理形式
MIMEデータの送受信時に,Mail - SMTPが実行する処理について説明します。
- <この項の構成>
- (1) MIME形式受信時
- (2) MIME形式送信時
(1) MIME形式受信時
Mail - SMTPがSendmailからメールを受信したとき,Mail - SMTPはそのメールがMIME形式か,従来のRFC822形式かを自動的に認識します。ここでは,MIME形式のメールを受信した場合に,Mail - SMTPがどのように処理するかをデータ種別ごとに示します。
- テキストデータ(text/plain,message/rfc822など)の場合
- 先頭のテキストボディは本文として,二つ目以降のテキストボディは添付ファイルとして処理します。
- charsetは「iso-2022-jp」固定です。ただし,charsetが「utf-7」,「utf-8」または「utf-16」と指定されている場合,Unicodeとして処理します。「iso-2022-jp」「utf-7」「utf-8」「utf-16」以外の文字コードが指定してある場合,「iso-2022-jp」として処理します。
- バイナリデータ(application/octet-stream,video/mpegなど)の場合
- ボディごとに添付ファイルとして処理します。
- ファイル名の取得は,「Content-Disposition」フィールドに続く「filename」フィールドから取得します。このフィールドがなかった場合には「Content-Type」フィールドに続く「name」フィールドから取得します。ファイル名の取得に失敗した場合(ファイル名フィールドがない場合も含む)は,Mail - SMTPがファイル名を生成します。
- マルチパートボディ(multipart/mixedなど)の場合
- マルチパートボディの中に,さらにマルチパートボディが定義されている場合はヘッダ中に定義された区切り文字でボディを分割します。
- 注
- Mail - SMTPは,Sendmailから受信したメールのSMTPヘッダ中に,「MIME-Version:」がある場合に限ってMIME形式のメールと認識します。MIMEデータを使用してGroupmax Mailユーザとインターネットとの間でメールを交換する場合は,SMTP側で必ず「MIME-Version:」ヘッダを生成してください。
- 未サポートのコンテントタイプ(xxxxx/yyyyy)の場合
- Mail - SMTPでサポートしていないContent-Typeが指定されていた場合,およびContent-Typeが正しく指定されていない(Content-Typeヘッダがない,またはサブタイプがない等)場合には,そのボディをテキストファイルとして受信します。
- 主題,添付ファイル名の場合
- 主題または添付ファイル名がMIMEエンコードされている場合,以下の形式をサポートしています。
=?charset?encoding?encoded-text"?=
- charsetは,「us-sacii」「iso-2022-jp」「utf-7」「utf-8」「utf-16」を想定しており,想定外のcharsetの場合には,「iso-2022-jp」として処理します。
encodingは,quoted-printableを示す「Q」とbase64を示す「B」をサポートしています。
encodeing-textは空白以外のASCII文字である必要があります。
以下の場合には,デコード処理は行ないません。
・encodingが「Q」または「B」以外の場合
・encoding-textに空白があった場合
(2) MIME形式送信時
Groupmax MailからSendmailにメールを送信する場合,Mail - SMTPが実行する処理は,SEND_CODEの設定内容によって異なります。SEND_CODEの設定法については「2.3.3 edit_format」を参照してください。
- jis,sjis,eucのどれかが設定されている場合は,RFC822形式で送信する。
- mimeが設定されている場合は,MIME形式で送信する。