|
早速、対応いただき、ありがとうございます。
>> (message/rfc822をBase64エンコードするのはRFC2046違反)
>
> RFC違反であることはまったく知りませんでした。んではbase64エンコードし
>ないで生で添付する(&、Content-Transfer-Encodingは必要に応じて7bitにな
>ったり8bitになったりする)ように修正させていただきます。
MIMEには1パスで解析可能な構造にする、という設計思想があり、
multipartやmessageなどのコンポジットタイプはエンコード
しない約束になっています。
特にmessage/*に対してはサブタイプごとに細かい制約があり、
http://www.iana.org/assignments/media-types/message/
から関連RFCにリンクが張られています
その他、修正される際に考慮して頂きたい点を書いておきます。
・7bit/8bit/binaryを判別する際、最上位ビット(MSB)だけでなく、
行の長さ、CR/LFの使われ方を調べる必要があります(RFC2045)。
・ボディパートが8bitやBinaryの場合、親のマルチパートに
Content-Transfer-Encoding: [8bit|binary]
と明記される必要があります(RFC2046)。
・8bitメッセージを送信する場合、SMTPサービス拡張の8BITMIME
(RFC1652,RFC2821)を使用します。
・8bitあるいはbinaryのメッセージをmessage/partial形式で
分割して送信することは禁じられています(RFC2046)。
ご参考まで。
|
|