たとえば、私のアプリケーションがバイナリ添付ファイル (例: somedata.xlsx
) を含むメールを送信するとします。メール メッセージを (プログラムで) 作成するときは、次のいずれかを実行できます。
添付ファイルの MIME タイプを
application/octet-stream
またはに設定するだけですファイルの実際の内容に応じて、「正しい」MIME タイプを設定します (たとえば
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
、前述のsomedata.xlsx
ファイルの場合)。
それも仮定しよう
- 私はファイルの実際の内容を知っています (したがって、オプション 2 は実行可能です)。
- ファイルは常にバイナリ (人間が判読できない) であり、
- すべての受信者は、ファイル拡張子がファイルの種類を指定するためのデファクト スタンダードである「企業 Windows ワールド」に存在します。
application/octet-stream
すべてを-ingするだけでなく、さまざまな MIME タイプを使用するという面倒なことをしなければならないのはなぜですか? 私の経験から、xlsx
MIME タイプがapplication/octet-stream
かapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.
それはただの良い習慣²なのか、それとも本当に実用的な違いを生むのか?
¹ つまり、Windows システムでxlsx
は、レジストリでハンドラを検索し、起動してファイルを開きます。
² 個人的には、「優れた実践」が非常に正当な理由であると考えています。しかし、科学的な好奇心のために、それが実際的な違いを生むかどうかに興味があります.