Для подальшого розширення відповіді Ентоні (що є правильним), пам'ятайте, що коли було створено електронну пошту, він мав намір посилати текст (символи ASCII). Коли ідея відправки бінарних файлів стала реальністю, інфраструктура електронної пошти вже була створена і працює, і було б занадто важко змінити її для підтримки надсилання двійкових даних (плюс це додало б складності).
Для того, щоб вирішити проблему, рішенням було MIME кодувати файли (як правильно вказав @mark у коментарях).
Як ви можете здогадатися, це збільшує розмір, але дозволяє двійковому файлу бути представленим ASCII . Оскільки ASCII має лише 128 символів (а деякі - контрольні символи!), Тому що це було 7 біт, 8-бітна версія, Розширений ASCII додав ще 128 символів в суміш (дозволяючи акценти і деякі інші трюки), але це просто ще одна історія, набагато краще пояснила в Вікіпедії і незліченних сайтах про неї :)
Щоб створити просту аналогію, уявіть, що ви повинні представляти весь алфавіт, використовуючи тільки голосні. Ви б почали створювати комбінації з 5 букв, які ви повинні представляти відсутні, так що, наприклад, буква "B" повинна бути представлена як "AA" (тільки приклад), то C буде "AAA", D може бути "AE" тощо
Як ви бачите, я використовую тільки голосні, але мені потрібно більше 1 для представлення приголосних. Це більш-менш просто, що робить MIME. Він використовує стандартні символи ASCII для представлення пеклів набагато більше, отже, збільшення розмірів.
Сподіваюся, що це допоможе вам зрозуміти процес, який відбувається, коли Mail (або антураж) каже: "приєднуючи ...". Це кодування файлу :)