メール技術

定義

Base64は、バイナリデータをASCII文字に変換するバイナリからテキストへのエンコーディングスキームです。メールシステムでは、Base64エンコーディングにより、添付ファイル、画像、非ASCIIテキストをテキストベースのコンテンツのみをサポートするプロトコルを通じて安全に送信できます。

一般的な使用例

SMTP送信用にメール添付ファイル(PDF、ドキュメント、スプレッドシート)をエンコードする

データURIとしてHTMLメールに画像を直接埋め込む

メールヘッダーと件名の非ASCII文字を送信する

SMTP AUTHコマンドで認証資格情報をエンコードする

JSONまたはXMLメールテンプレートにバイナリデータを保存する

テキストのみを受け入れるAPIを通じてメールコンテンツを転送する

が重要な理由

SMTPなどのメールプロトコルは、元々7ビットASCIIテキストのみを処理するように設計されていました。Base64エンコーディングは、画像、PDF、その他の添付ファイルなどのバイナリコンテンツをメールメッセージに埋め込むことを可能にすることで、この制限を橋渡しします。Base64がなければ、メールの添付ファイルは送信中に破損してしまいます。Base64を理解することで、エンコーディングの問題のトラブルシューティング、メールサイズの最適化、添付ファイルが受信者に無傷で届くことを確保できます。

仕組み

Base64エンコーディングは、バイナリデータを6ビットグループに分割し、各グループを64個の印刷可能なASCII文字(A-Z、a-z、0-9、+、/)の1つにマッピングすることで機能します。このプロセスによりデータサイズは約33%増加しますが、コンテンツがテキストのみのメールシステムを破損なく通過できることが保証されます。添付ファイル付きのメールが送信されると、MIME標準はBase64を使用してバイナリファイルをメールサーバーが安全に送信できるテキストにエンコードします。

ベストプラクティス

読み込み時間の遅延を避けるため、Base64エンコードされたインライン画像を100KB未満に保つ

MIMEメッセージを送信する際にContent-Transfer-Encodingヘッダーを正しく使用する

メールサイズを削減するために画像を埋め込むのではなくリンクすることを検討する

Base64コンテンツが正しくレンダリングされることを確認するために、クライアント間でメールをテストする

Base64は添付ファイルに33%のオーバーヘッドを追加するため、メールサイズを監視する

複数のBase64エンコードパーツを含める場合は、適切なMIME境界を使用する

セキュリティの脆弱性を防ぐために、デコード前にBase64文字列を検証する

特殊文字が少ないテキスト重視のコンテンツには、quoted-printableエンコーディングを優先する

よくある質問

Base64がファイルサイズを増加させるのはなぜですか?

Base64エンコーディングは、3バイトのバイナリデータを4つのASCII文字に変換します。この4:3の比率により、約33%のサイズ増加が生じます。さらに、MIME仕様に従って76文字ごとに改行が追加される場合があり、わずかにオーバーヘッドが増加します。

画像をBase64として埋め込むべきですか、それとも外部URLにリンクすべきですか?

10KB未満の小さなアイコンやロゴの場合、Base64埋め込みは読み込みの信頼性を向上させる可能性があります。大きな画像の場合、メールサイズを削減し、キャッシュを可能にし、追跡機能を提供するため、外部リンクの方が優れています。ほとんどのメールのベストプラクティスでは、インラインBase64画像を制限することを推奨しています。

Base64エンコーディングはメール配信率の問題を引き起こす可能性がありますか?

大きなBase64エンコードコンテンツは、メールがサイズ制限を超えたり、不審なパターンを作成したりする場合、スパムフィルターをトリガーする可能性があります。一部のメールクライアントは、大きなBase64添付ファイルをブロックまたは削除する場合もあります。合計メールサイズを100KB未満に保つことで、良好な配信率を維持できます。

Base64とquoted-printableエンコーディングの違いは何ですか?

Base64はバイナリデータと非テキストコンテンツに適しており、すべてを均一にエンコードします。Quoted-printableは、非ASCIIバイトのみをエンコードするため、時折特殊文字を含むテキストに対してより効率的です。メールクライアントは、コンテンツタイプに基づいて適切なエンコーディングを選択します。

関連用語

関連記事

今すぐ始める

メール検証の準備はできましたか?

BillionVerify を今すぐ使用して、99.9% の精度でメールを検証しましょう。

クレジットカード不要 · 毎日 100 回以上の無料検証 · 5 分で設定完了

99.9%
精度
Real-time
API 速度
$0.00014
1 通あたり
100/day
永久無料