付録C.2 送信形式

Groupmax MailからsendmailにMIME形式のメールを送信するときに,Mail - SMTPが実行する処理を,本文と添付ファイルとの場合に分けて説明します。

本文の場合
Content-Type: text/plain(MIMEのテキスト形式)にマッピングします。送信文字コードは主題と本文と添付ファイル名のすべての文字がASCII文字(0x7f以下の文字コード)の場合, charset = us-asciiを生成します。それ以外の場合,charset=iso-2022-jp(JISコードの一種)を生成します。
注意
charset=us-asciiで送信したメールに日本語固有の文字コードが含まれる場合,受信されるメールクライアントによっては見え方が異なる場合があります。

例:'¥'が'\'(バックスラッシュ)で表示される。

注意
署名メール(multipart/signed)を送信する場合,本文の送信文字コードはcharset=iso-2022-jpを生成します。
添付ファイルの場合
添付ファイルごとに:Content-Type: application/octet-streamにマッピングします。また,添付ファイルの名称はnameフィールド,および「Content-Disposition」のサブフィールドである「filename」にマッピングします。

MIME形式のメールのマッピング例を以下に示します。

Subject: =?ISO-2022-JP?B? g2WDWINng4GBW4OL?=主題
MIME-Version: 1.0
Content-Type: multipart/mixed;
    boundary=GMAILSMTPBOUND00950917182030

--GMAILSMTPBOUND00950917182030
Content-Type: text/plain; charset=us-ascii
                                       本文
       body this is text
--GMAILSMTPBOUND00950917182030
Content-Type: application/octet-stream; name="tmp1.txt"
Content-Disposition: attachment ; filename="tmp1.txt"
Content-Transfer-Encoding: Base64
                                       添付ファイル1
k1mVdIN0g0CDQ4OLglAKgrGCzIN0g0CDQ4OLgs2TWZV0g3SDQINDg4uC
UILFgreBQgo=
--GMAILSMTPBOUND00950917182030
Content-Type: application/octet-stream; name="tmp2.txt"
Content-Disposition: attachment ; filename="tmp2.txt"
Content-Transfer-Encoding: Base64
                                       添付ファイル2
grGCzIN0g0CDQ4OLgs2TWZV0g3SDQINDg4uCUYLFgreBQgpUaGlzIHRl
eHQgaXMgR3JvdXBNYWlsL1NNVFAgMDEtMDEgRlMgU2FtcGxlCg==
--GMAILSMTPBOUND00950917182030--