1

ImapX lib を使用して Gmail からメールを受信して​​います。

メールの本文の Content-Type と Content-Encoding-Trafering の多くのタイプを取得します。それをデコードする方法は?

4

1 に答える 1

1

MIME 標準は、RFC 2045 から 2048 で文書化されています。すべてを読みたいとは思わないかもしれませんが、MIME を処理する前に、MIME の基本を理解しておく必要があります。 http://en.wikipedia.org/wiki/MIMEは良い出発点です。

Content-Transfer-Encoding、5 つの異なる値のいずれかを持つことができます。これらのうち、7bit8bit、およびbinaryはデコードを必要としません (文字セットと行の長さについて想定できる点が異なります。 と の違いは8bit、は限られた長さの行を持つbinaryこと8bitが保証されていることです。時々野生)。

quoted-printableおよびbase64デコードが必要です。しかし、合理的に最新のプログラミング言語には、このためのライブラリ関数が既に用意されています。

階層はContent-Type基本的に無制限です。トップレベル タイプ ( textimageaudioapplicationなど) とサブタイプの標準セット ( 、 など)text/plainの数は限られtext/htmlていますが、さらに多くのタイプが登録されており、標準ではタイプを登録する必要はありません。とにかく、これらは通常、デコードする必要はありません。それらはコンテンツのタイプを宣言するので、受信者はそれらをどうするかを知ることができます。一般的なキャッチオールはapplication/octet-stream、基本的に「ここにデータのブロブがあります。人間の受信者がこれをどう処理するかを知っていることを願っています」という意味であり、多くのタイプでは、ローカル ディスクにダウンロードする以外に賢明なデフォルト アクションはありません。すべての汎用電子メール クライアントはtext/plain、ユーザーに直接表示されます。Content-Dispositionほとんどの最新のクライアントはtext/html、他のいくつかのタイプをインラインで表示します。しかし、コンテンツで何をしたいかは、何よりもまず、コーディングしているアプリケーションの種類によって決まります。

于 2011-09-22T07:03:06.770 に答える