Почтовый сервер: Увеличение размера вложения. Приходит отчет о недоставке писем Postfix ограничение размера письма

Предпосылка: Почтовый сервер реализован на связке postfix+dovecot+roundcube. Вебинтерфейс roundcube во всплывающем окне "Добавить вложение" указывает: Максимальный размер файла 2 Мб. Соответственно файлы большего размера не прикрепляются.

Примечание : postfix определяет ограничения не вложения, а всего письма. В умолчательной конфигурации дефолтное ограничение размера письма было 10Мб. Следовательно Roundcube, выводя сообщение о максимальном размере в 2Мб, никоим образом не ориентируется на конфигурацию postfix. Будучи приложением, написанным на php, Roundcube ориентируется на конфигурацию сервера php. Однако необходимо помнить, что размер письма состоит не только из вложения, а так же из текста письма и служебного кода. Следовательно необходимо установить большее значение допустимого размера письма, чем величина допустимого размера вложения.

1. В конфигурационный файл /etc/postfix/main.cf , необходимо внести параметр, опретеляющий максимально-допустимый размер письма,так как в умолчательной конфигурации он отсутствует. Например, установить в качестве максимально-допустимого размера почтового сообщения 25 Мб.

# postconf -e message_size_limit=25600000

# postfix reload

При этом необходимо убедиться, что размер письма не превышает максимально-допустимого размера почтового ящика пользователя.

# postconf -d - выводит умолчательные настройки сервера

mailbox_size_limit = 51200000

message_size_limit = 25600000

virtual_mailbox_limit = 51200000

Из листинга видно, что при максимальном размере ящика в 50Мб мы увеличили размер письма до 25Мб. Так ящик долго не протянет. В таком случае целесообразно увеличить и размер ящика например до 200Мб.

Опять таки при просмотре конфигурационного файла параметры mailbox_size_limit и virtual_mailbox_limit мы не найдем, поэтому добавляем их:

# postconf -e mailbox_size_limit = 204800000

# postconf -e virtual_mailbox_limi = 204800000

# service postfix restart

Проверяем фактические значения:

# postconf -n mailbox_size_limit
mailbox_size_limit = 204800000
# postconf -n virtual_mailbox_limit
virtual_mailbox_limit = 204800000
# postconf -n message_size_limit
message_size_limit = 25600000
#

2 . Все вышеперечисленные манипуляции бессмысленны пока мы не разрешим php работать с файлами такого размера.

Максимальный размер файла, который можно закачать с помощью php-скрипта определяется в файле /etc/php.ini

; Maximum size of POST data that PHP will accept.

post_max_size = 16M

; Maximum allowed size for uploaded files.

upload_max_filesize = 16M

; Maximum amount of memory a script may consume

memory_limit = 64M

После редактирования php.ini необходимо зарестартить apache

#service httpd restart

3. Если сессия пользователя roundcube все это время была открыта, то необходимо переавторизоваться.

Отчет о недоставке писем - это сообщение, которое отсылается почтовым сервером отправителю, когда почтовый ящик получателя недоступен, не существует, или сервер отправителя/получателя сообщает об ошибке, по причине которой не может доставить письмо до адресата в отведённый срок.

В тексте письма указан текст ошибки, адрес почтового ящика, код ошибки и причина, по которой данное письмо не могло быть доставлено.

Подробно с кодами ошибок можно ознакомиться по ссылке RFC 3463.

Мы приведем примеры наиболее распространенных ошибок при недоставке писем.

# Error: No such user (User not found / No correct recipients / Bad recipient address syntax / Bad address mailbox syntax)

ошибка указывает на то, что электронный ящик получателя не существует на удаленном сервере. Проверьте, что адрес получателя не содержит лишних знаков, пробелов или символов. Уточните адрес у получателя еще раз или попробуйте связаться с получателями альтернативными способами.

# Error: Message rejected under suspicion of SPAM

Если в отчете содержится строка «Message rejected under suspicion of SPAM», содержимое вашего письма было распознано как спам. Обратитесь в службу поддержки сервера отклонившего ваше письмо, чтобы выяснить причины проблемы.

Если с вашего почтового ящика приходит только спам, то некоторые почтовые сервера блокирует прием писем с него на 24 часа. В этом случае в отчете о недоставке будет содержаться строка «Client host [ ] blocked using spamsource.. ; see...» или «Blocked by spam statistics — see...».

Если вы уверены, что ваш компьютер не заражен вирусом и что с него не рассылали спам, сообщите об этом в службу поддержки сервера, на который отправлялось письмо, через форму обратной связи, приложив к письму файл письма с отчетом.

# Error: 550 spam message discarded/rejected

Ваше письмо заблокировано системой антиспам-фильтров. Для решения данной проблемы необходимо временно остановить рассылку и произвести необходимую настройку в соответствии с .

# Error: 550 relay not permitted

Причин появления данной ошибки может быть несколько:

В настройках почтового клиента не включена авторизация при отправке;

MX сервера имеют неверные значения либо по другим причинам, которые можно уточнить у владельцев mx-серверов.

# Error: Connection timed out / Connection refused / retry time not reached for any host

Т акие ошибки обычно возникают в результате технических проблем на почтовом сервере получателя . Попробуйте подождать некоторое время и повторить попытку или же связаться с получателем альтернативными способами.

# Error: Mailbox Full или User quota exceeded / Mailbox size exceeded

Данная проблема возникает из-за того, что почтовый ящик получателя переполнен. Попробуйте подождать некоторое время и повторить попытку или же связаться с получателем альтернативными способами.

# Error: Аccess to this account (user) имя_ящика is disabled или Mailbox is disabled

Данная ошибка выдается в связи с тем, что почтовый ящик получателя удален или заблокирован за неиспользование. Попробуйте связаться с получателем альтернативными способами.

# Error: 550 Access from ip address blocked

Скорее всего ваш IP-адрес находится в одном из черных списков. В данном случае обратитесь к нам в техническую поддержку за консультацией.

# Ошибка содержит код «0x800CCC»

Для решения данной проблемы попробуйте изменить порт SMTP c 25 на порт 2525 или 587 в настройках вашей почтовой программы.

Если все это не помогло, то попробуйте использовать для отправки SMTP сервер вашего провайдера.

# Error: Message infected by virus

Если в отчете указана ошибка «Message infected by virus», это означает, что ваше письмо было помечено почтовым сервером получателя как зараженное вирусом.

# Error: The recipient has exceeded their message rate limit. Try again later

Если в отчете указана ошибка «The recipient has exceeded their message rate limit. Try again later», доставка писем на адрес получателя была временно приостановлена из-за большого количества писем, поступающих в его почтовый ящик в единицу времени. Попробуйте отправить письмо повторно через 6 часов.

# Error: Message size exceeds fixed limit (Error: message file too big)

Если в отчете содержится строка «Error: message file too big» или «Message size exceeds fixed limit», вложение, которое вы отправляете в письме, не может быть принято почтовым сервером из-за установленных на нем ограничений.

Максимальный размер писем с вложениями не должен превышать 10 МБ.


# Error: too many connections

Если при отправке сообщения появилась ошибка «Error: too many connections», ваш почтовый сервер создает большое количество обращений к стороннему почтовому серверу в единицу времени, что приводит к росту нагрузки и замедлении работы. Попробуйте связаться с администрацией вашего почтового сервиса альтернативным способом связи и сообщить о проблеме.

# Error: too many recipients

Если при отправке сообщения появилась ошибка «Error: too many recipients», у вашего письма слишком большое количество получателей: более 100 адресов в полях Кому , Копия и Скрытая копия . Отредактируйте список получателей и повторите попытку.

Довольно часто в ходе работы корпоративным пользователям требуется отправлять крупные вложения через почтовый клиент, при этом они могут столкнутся с ошибкой отправки письма.

Outlook

Все дело в том, что в почтовом клиенте Outlook (в т.ч. в версиях 2010 / 2013 / 2016) существует ограничение на максимальный размер вложения к письму – 20 Мб. Причем, не имеет значения, прикреплен ли к письму один большой файл или несколько мелких – лимит на общий размер вложений будет всегда 20 Мб.

При попытке отправить письмо размером более 20 Мб в Outlook появляется окно с ошибкой - The attachment size exceeds the allowable (размер вложения превышает допустимый предел):

В том случае, если ваш почтовый сервер и сервер получателя поддерживает больший размер почтовых сообщений, лимит на размер вложений в Outlook можно увеличить.

Изменить ограничение на максимальный размер вложений в Outlook можно только через реестр, в графическом интерфейсе Outlook такая настройка отсутствует.

Порядок действий


После внесенных изменений к письму в Outlook можно прикрепить вложение размером, больше чем 20 мб (в нашем примере мы прикрепили к письму pst файл размером 58 Мб).

В том случае, если ваш почтовый сервер или сервер отправителя не поддерживают письма большого размера, при отправке большого письма вы получите отбойник о недоставке (NDR-Non delivery report), в котором будет указано, что превышен максимальный размер письма. Ниже приведены популярные варианты текста подобного отбойника:

  • Attachment size exceeds the allowable limit
  • 552: Message size exceeds maximum permitted
  • System Undeliverable, message size exceeds outgoing message size limit
  • The message was not sent; reduce the message size and try again

MS Exchange

В Exchange можно изменить допустимый размер письма на трех различных уровнях:

  • В настройках транспорта организации Exchange
  • В параметрах отправляющих/принимающих коннекторов
  • В настройках ящика конкретного пользователя

Текущие лимиты можно посмотреть через Exchange Management Console (EMC), но гораздо проще и быстрее воспользоваться PowerShell. В консоли Exchange Management Shell, или после подключения к Office 365 через удаленную PowerShell сессию, выполните команды:

Get-transportconfig | ft maxsendsize, maxreceivesize get-receiveconnector | ft name, maxmessagesize get-sendconnector | ft name, maxmessagesize get-mailbox administrator |ft Name, Maxsendsize, maxreceivesize

Команды должны вернуть примерно такие результаты, содержащие текущие настройки лимитов:

  • В параметрах транспорта всей организации размер указано, что принимаемого/отправляемого письма не должен быть больше чем 25 Мб
  • На всех коннекторах стоит лимит 10 мб
  • Для почтового ящика администратора лимит на размер писем не задан (unlimited)


Естественно, в последней команде выполняется проверка лимитов только для одного ящика. Вывести лимиты на размер писем для всех пользователей организации можно так:

Get-mailbox |ft Name, Maxsendsize, maxreceivesize

Чтобы увеличить максимальный размер письма (как принимаемого, так и отправляемого), принимаемого транспортной службой Exchange с 25 до 100 Мб, выполните команду:

Set-TransportConfig -MaxSendSize 100MB -MaxReceiveSize 100MB

Синтаксис команды смены лимита на размер писем для коннекторов аналогичен, однако команду смены придется выполнить для каждого коннектора.

Set-SendConnector "Connector1" – MaxMessageSize 100Mb Set-ReceiveConnector "DefaultConnector1" -MaxmessageSize 100MB

Или для всех коннекторов:

Get-SendConnector | Set-SendConnector -MaxmessageSize 100MB Get-ReceiveConnector | Set-ReceiveConnector -MaxmessageSize 100MB

Аналогичным образом можно изменить лимит для всех ящиков организации:

Get-Mailbox | Set-Mailbox -MaxSendSize 100MB -MaxReceiveSize 100MB

Заданные таким образом лимиты ограничивают максимальный размер письма независимо от того, содержит ли оно вложение или нет.

Использование веб-интерфейса

Есть другой вариант - через веб-интерфейс. Открываем центр администрирования Exchange и переходим в раздел поток обработки почты -> соединители отправки -> параметры транспорта организации:


и выставляем требуемый максимальный объем вложения. Обращаем ваше внимание - при пересылке на внешний сервер, происходит кодирование вложение в формате MIME64, что увеличивает итоговый объем письма примерно на 30%.


Мы также готовы оказать помощь в любых настройках MS Exchange.

Нашим клиентам мы предлагаем реализацию данного проекта и последующее ИТ-обслуживание в рамках ИТ-аутсорсинга .

Альтернативным вариантом является - взять в аренду уже настроенный сервер Exchange с обслуживанием или подключиться к публичному облачному Exchange на базе структуры EFSOL.