添付ファイルとは
添付ファイルは、メール本文とは別のファイルをMIME形式で符号化し、メッセージに含めて送るものです。文書、写真、表計算、圧縮ファイルなどを、本文と同じ一通のメールの中へ独立した本文部分として組み込みます。
送信画面では本文の横にファイルが付いて見えますが、配送時に別便で送られるわけではありません。ファイルのバイト列はBase64などで文字列へ変換され、種類や表示方法を示すヘッダーと一緒にSMTPで運ばれます。
添付名、拡張子、Content-Typeは「中身が安全で、その種類どおりである」という保証ではありません。三つが食い違うこともあるため、送信者、文脈、実体の検査を組み合わせて判断します。

一通のメールへ組み込まれるまで
メールアプリでファイルを選ぶと、その内容は通常、マルチパート/混在の子部分になります。Content-Typeが想定する種類を、Content-Dispositionのattachmentが「独立したファイルとして扱う」という提案を、ファイル名パラメーターが表示・保存名の候補を伝えます。
これらはすべて送信側が書ける値です。たとえば「資料.pdf」という名前でも、実体がPDFとは限りません。受信アプリや検査装置は、宣言されたメディアタイプ、拡張子、ファイル先頭の特徴、内部構造を照合し、危険な形式を隔離します。
安全に開くまでの順序
Base64にすると容量は増える
バイナリファイルは、メール経路で扱いやすい文字列にするためBase64で符号化されることがあります。Base64の本体は原理上、元データのおよそ4分の3ではなく4分の4、つまり約4/3倍になり、さらに改行、MIMEヘッダー、本文も加わります。
サービスが示す「一通あたりの上限」は、選んだファイルの合計だけでなく、符号化後のメッセージ全体に対する場合があります。上限に近いファイルは送信側で受理されても途中や受信側で拒否され、バウンスメールになることがあります。
圧縮とパスワードは安全確認を難しくする
ZIPなどの圧縮ファイルは複数の項目をまとめられますが、内部に別の圧縮ファイルや危険な実行形式を隠すこともできます。極端な展開量を持つファイルは、検査装置や端末の資源を消費させます。
暗号化された圧縮ファイルは、パスワードを知らない中継装置が内部を検査できません。別メールでパスワードを送れば自動的に安全になるわけでもありません。機密情報には、組織が管理する共有サービス、アクセス期限、権限、監査記録などを含む方法を選びます。
クラウドへのリンクは添付とは異なる
大きなファイルをオンラインストレージへ置き、メールにはURLだけを書く方式では、ファイル本体はメールに含まれません。受信者が後からHTTPSで取りに行くため、送信後でも権限変更や削除ができる一方、偽の共有通知や認証画面へ誘導される危険があります。
添付ならMIME部分、共有リンクなら外部サービス上の資源です。保存場所、アクセスできる人、期限、再共有の可否を区別して確認します。
MIME添付の確認資料:RFC 2045(MIME Part One)、RFC 2183(Content-Disposition)、NIST Phishing Guidance