Para ampliar aún más la respuesta de Anthony (que es correcta), recuerde que cuando se creó el correo electrónico, estaba destinado a enviar texto (caracteres ASCII). Cuando la idea de enviar archivos binarios se convirtió en una realidad, la infraestructura de correo electrónico ya estaba en funcionamiento y habría sido demasiado difícil cambiarla para admitir el envío de datos binarios (además, habría agregado complejidad).
Para resolver el problema, la solución fue codificar MIME los archivos (como señala correctamente en @mark en los comentarios).
Como puede adivinar, esto hace que el tamaño sea más grande, pero permite que el archivo binario se represente en ASCII . Dado que ASCII tiene solo 128 caracteres (y algunos son caracteres de control) porque era de 7 bits, la versión de 8 bits, llamada ASCII extendido agregó otros 128 caracteres a la mezcla (permitiendo acentos y algunos otros trucos), pero eso es solo otra historia mucho mejor explicada en Wikipedia e innumerables sitios al respecto :)
Para crear una analogía simple, imagine que tiene que representar todo el alfabeto utilizando solo vocales. Comenzarías a crear combinaciones de las 5 letras que tienes para representar las que faltan, entonces, por ejemplo, la letra "B" tendría que representarse como "AA" (solo un ejemplo), luego C sería "AAA", luego D podría ser "AE", etc.
Como puedes ver, solo estoy usando vocales, pero necesito más de 1 para representar consonantes. Esto es más o menos en términos simples lo que hace MIME. Utiliza caracteres ASCII estándar para representar mucho más, por lo tanto, el aumento de tamaño.
Espero que esto te ayude a entender el proceso que ocurre cuando Mail (o séquito) dice: "adjuntando ...". Está codificando el archivo :)