記事検索

検索ワードを入力してください。
Sky Tech Blog
送信する​メールサイズの​上限と​実質的な​上限の​違いに​ついて

送信する​メールサイズの​上限と​実質的な​上限の​違いに​ついて

メールにファイルを添付する際、上限より小さいサイズなのに送信できない経験はありませんか?その原因は、メール送信時にファイルがテキストデータに変換(エンコード)され、サイズが約1.33倍に増加するためです。本記事では、この「Base64エンコード」の仕組みを解説し、なぜ添付ファイルの実質的な上限サイズが設定値よりも小さくなるのかを説明します。SKYPCEの一斉メール配信機能の事例も交え、電子メールの容量制限に関する注意点を解説します。

はじめに

普段のお仕事や私生活においても、電子メールを使用する方は多いと思いますが、一般的にはメールサーバーやメールクライアントによって、送信や受信ができるメールのサイズには上限が設けられており、添付ファイルを付与してメールを送信する際、「メールの容量や添付ファイルの容量の制限によって送信できない」といった経験をされた方もいるかと思います。

場合によっては、設定されている上限よりも小さいサイズのファイルを添付しているのに、メールサイズの上限の制限によって送信できないといったこともあります。

電子メールの​仕組みに​ついて

前述のようなケースの説明をするにあたり、まずは電子メールの仕組みについて記載しますと、一般的な電子メールの仕組みでは添付ファイルや、画像、動画等のバイナリデータや、マルチバイト文字などの非ASCII文字をそのままの形で送受信することができませんので、電子メールで送信できるように、内部的にテキスト形式のデータにエンコードしてから送信しております。

このようにASCII文字以外のデータを、電子メールで送信できるようにASCII文字に変換する仕組みをMIMEエンコードと呼びます。

以下に一般的に使用されることが多い、Base64エンコードについて簡単に解説します。

Base64エンコードとは

バイナリデータをテキストデータに変換するエンコード方式となり、以下のようなケースで利用されることがあります。

  • 前述の電子メールの添付ファイル等の変換
  • データベースやファイルシステムへの画像データ等の格納
  • Web API等で利用するJSON形式のデータへの画像データ等の埋め込み

細かい変換内容の説明は割愛いたしますが、Base64エンコードではデータを3バイトずつに区切り、区切られた3バイトのデータを4バイトのASCII文字に変換する仕組みとなっております。
3バイトのデータが4バイトのデータに変換されるので、メールの送信時には、添付ファイルやメール本文が元のサイズの約1.33倍に変換されることとなり、変換された後の容量でメールサイズの上限のチェックが行われます。

弊社商品のSKYPCEにおいても一斉メール配信という、電子メールを配信する機能を有しており、添付ファイルを付けてのメール送信も可能で、添付可能なファイルサイズの上限も設定されておりますが、エンコード後のサイズに対して制限がかかるため、実質的に添付可能なファイルのサイズは上限のサイズよりも小さくなります。

まとめ

利用されている電子メールのサーバーやサービス等によって変わってきますが、エンコードによって、実質的に添付可能なファイルサイズやメール全体のサイズの上限は、設定されている送信や受信の容量の上限よりも少なくなることがある点はご注意いただければと思います。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム