Какой максимальный размер файла для отправки в письме

Отправить большой файл по электронной почте — задача, с которой сталкиваются все. Но далеко не все знают, что у почтовых сервисов есть жёсткие ограничения на размер вложений. Превышение лимита приводит к ошибке отправки, а сам файл либо не доходит до адресата, либо обрезается. В этой статье разберём реальные лимиты популярных сервисов, почему они меньше, чем кажется, и как правильно передавать большие файлы.

Стандартные лимиты почтовых сервисов

Большинство крупных почтовых провайдеров установили одинаковый лимит на размер вложения — 25 МБ. Вот актуальные ограничения на 2024 год:

  • Gmail — максимальный размер вложения 25 МБ. При превышении Gmail автоматически предлагает загрузить файл на Google Drive и вставить ссылку
  • Mail.ru — лимит 25 МБ на одно вложение, суммарно до 100 МБ в письме
  • Яндекс.Почта — максимум 25 МБ на одно вложение. Большие файлы предлагается загрузить на Яндекс.Диск
  • Outlook / Hotmail — ограничение 25 МБ для обычных аккаунтов
  • Корпоративный Exchange — лимит устанавливается администратором, чаще всего 10–50 МБ

Реальные ограничения: эффект Base64-кодирования

Здесь кроется важный нюанс, о котором мало кто знает. Электронная почта использует протокол SMTP, который передаёт данные только в текстовом формате. Любые бинарные файлы (изображения, PDF, архивы) перед отправкой кодируются в формат Base64.

Base64-кодирование увеличивает размер файла примерно на 33–37%. Это значит:

  • Файл размером 18 МБ после кодирования займёт около 24–25 МБ
  • Файл 25 МБ превратится в 33–34 МБ и не пройдёт через лимит в 25 МБ
  • Реальный безопасный размер вложения — не более 17–18 МБ

Именно поэтому пользователи нередко получают ошибку при отправке файла в 20 МБ, хотя лимит формально 25 МБ.

Как обойти ограничения на размер вложений

Облачные хранилища

Самый удобный способ передать большой файл — загрузить его в облако и отправить ссылку:

  • Google Drive — бесплатно до 15 ГБ, легко поделиться ссылкой прямо из Gmail
  • Яндекс.Диск — 10 ГБ бесплатно, интегрирован с Яндекс.Почтой
  • Dropbox — 2 ГБ бесплатно, удобные публичные ссылки
  • OneDrive — 5 ГБ бесплатно, интегрирован с Outlook

Сжатие файлов

Перед отправкой можно сжать файл в архив. ZIP и 7z дают хороший результат для текстовых файлов, документов и некоторых графических форматов. Для PDF и JPEG сжатие обычно минимально, так как они уже сжаты.

Настройки PHP для загрузки файлов

Если вы разрабатываете веб-приложение с отправкой файлов через форму, ключевые параметры PHP в php.ini:

Параметр post_max_size должен быть больше upload_max_filesize, так как POST-запрос содержит не только сам файл, но и остальные поля формы.

Настройка лимитов вложений в Битрикс

В 1С-Битрикс ограничения на размер вложений в письмах настраиваются в нескольких местах:

  • Настройки почтового модуля: Главное меню → Настройки → Настройки модулей → Почта
  • Параметры PHP на сервере: upload_max_filesize и post_max_size в php.ini
  • Настройки веб-сервера: для nginx параметр client_max_body_size в конфигурации

Все три ограничения работают независимо, и файл должен пройти через каждое из них. Если лимит PHP — 25 МБ, а nginx — 10 МБ, файл будет заблокирован на уровне nginx.

Практические советы

Какие файлы стоит сжать перед отправкой

  • Документы Word (.docx), Excel (.xlsx) — хорошо сжимаются в ZIP
  • Текстовые файлы, CSV, XML — отлично сжимаются (до 80–90%)
  • PDF, JPEG, MP4 — сжатие даёт минимальный результат
  • Архивы (.zip, .rar) — повторное сжатие бесполезно

Когда лучше отправить ссылку вместо файла

  • Файл больше 15 МБ — используйте облачное хранилище
  • Файл нужно будет обновлять — ссылка на облако всегда актуальна
  • Файл отправляется нескольким получателям — ссылка экономит трафик
  • Конфиденциальные данные — облако позволяет отозвать доступ в любой момент

Итог

Реальный безопасный лимит на вложение в письме — около 17–18 МБ, а не 25 МБ, как заявляют провайдеры. Это связано с Base64-кодированием, которое добавляет треть к размеру файла. Для передачи больших файлов используйте облачные хранилища: Google Drive, Яндекс.Диск или Dropbox. При разработке веб-приложений с загрузкой файлов проверяйте согласованность параметров upload_max_filesize, post_max_size в PHP и client_max_body_size в nginx.