IMAPのRFC:IMAPプロトコルはマルチパート本体のバイナリをサポートしていますか?
8ビットのテキストおよびバイナリメール
[MIME-IMB]コンテンツ転送符号化の使用を介して支持されています。 IMAP4rev1の実装はリテラルで
送信8ビットまたはマルチオクテット文字ができるが、そう[CHARSET]が同定されている場合にのみ
を行う必要があります。BINARY本体エンコーディングが定義されているが、符号化されていないバイナリ ストリングは許可されません。 「バイナリ文字列」は、 NUL文字の文字列です。実装は、データを送信する前にバイナリデータをBASE64などのテキスト形式に にエンコードしなければならない(MUST)。CTL文字の量が多すぎる文字列は、 がバイナリとみなされることもあります。
実装がBASE64に変換する必要がある場合、なぜRFCは、 "BINARYボディエンコーディングが定義されている" と言っています。 base64(またはその他の形式)としてデータを送信する必要があるたびに、効率的にバイナリはサポートされないためです。それとも、私は間違っていることを読んでいますか
IMAPは、MIMEマルチパートをサポートし、この内部の部品には、バイナリデータを持つことができますか?それはコンテンツ転送エンコーディングですか?
私はこの質問をした理由は、私がHTTPサーバで、HTTPやIMAPの両方をサポートするサーバーを開発する必要がされて、IMAP/HTTPに新しいですが、コンテンツと、バイナリ(HUGEマルチパートデータにデータをrecive -transfer-encodingをバイナリとして)、FETCHはIMAPで行うことができます。 IMAPがバイナリをサポートしていない場合、データを解析してmultipart内の各部分をbase64に変換する必要があります。これは深刻なパフォーマンスの問題だと思います。
一方、実際にはバイナリメッセージをメールシステムに取り込むことは困難です。これは、完全なBINARYをサポートするSMTPサーバーもまれであるためです。 – Max