Настройка максимального размера сообщения в Zimbra

В данной заметке мы рассмотрим вопрос по определению и настройке максимального размера сообщения проходящего через ZimbraMTA (Postfix). Message_size_limit postconf параметр настраивается глобально для всех MTAZimbra. По умолчанию конфигурация ZimbraMTA использует размер сообщения postfix по умолчанию равный 10 Мб. Заметьте, что этот размер полностью соответствует сообщению из RFC 2822, после всех необходимых MIME-кодирований.

Начальная информация

Не устанавливайте слишком большой максимальный размер сообщения, так как postfix будет проверять достаточно ли свободного места на разделе жесткого диска. Если количество свободного места на разделе жесткого диска будет меньше чем 1,5*zimbraMtaMaxMessageSize, то не будет отправлено ни одного сообщения и будет постоянно отключатся MTA. Вы увидите сообщение в /var/log/zimbra.log похожее на это, если установили zimbraMtaMaxMessageSize слишком большим:

Jan 15 11:18:53 SERVERNAME postfix/smtpd[29088]: NOQUEUE: reject: MAIL from smtp.DOMAIN.com[70.43.218.70]: 
  452 4.3.1 Insufficient system storage; proto=ESMTP helo=<mail.DOMAIN.com>
Jan 15 11:18:53 SERVERNAME postfix/smtpd[29088]: warning: not enough free space in mail queue: 
161044520220 bytes< 1.5*messagesizelimit

Общий раздел о значении размера сообщения

В данной разделе описываются различные переменные, связанные с размером сообщения. Важный момент, обратите на это внимание:

Заметьте, что это размер полного интернет сообщения в соответствии с RFC 2822, после всех необходимых MIME-кодирований.

Если ваша политика не разрешает отправку сообщений больше 25Мб, до кодирования, рекомендуется указывать значения переменных, которые будут настроены далее, около 38 Мб. Обычно кодировка не превышает данный уровень. Для загрузки 15 Мб вам будет необходимо иметь установленный верхний предел как минимум в 20 Мб. Это при использовании повышения в 137% для mime-кодирования. См. статью для получения более подробной информации: http://luxsci.com/blog/raw-vs-encoded-email-message-size-whats-the-difference.html

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

Настройка Postfix (zimbraMtaMaxMessageSize и message_size_limit)

Вы можете проверить текущее значение данного параметра так:

# su - zimbra
$ postconfmessage_size_limit
message_size_limit = 10240000

Данный параметр хранится в каталоге ldap zimbra и распространяется на параметр postconf message_size_limit путем ввода команды zmmtaconfig, которая вызывает команду postfix. Следующие команды установят значения message_size_limit до 2 Мб (измените это значение на то, которое необходимо вам):

# su - zimbra
$ zmprovmodifyConfigzimbraMtaMaxMessageSize 2022000
$ postfixreload

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

$ postconf | grep message_size_limit

IMAP

Обратите внимание: zimbraMtaMaxMessageSize также относится и к IMAP. На IMAP сервере будет установлен самый большой допустимый размер сообщения переменной zimbraMtaMaxMessageSize. Это относится к операции APPEND, которая может включать такие действия как копирование сообщения в клиенте IMAP.

Настройка размера загружаемого в сообщение файла (zimbraFileUploadMaxSize)

Загружаемые файлы, это могут быть, например, вложения в сообщения (задачи) и сообщения импортируемые инструментом миграции (PSTImportWizard, ExchangeMigrationWizard и т.д.). Переменная zimbraFileUploadMaxSize может быть настроена глобально или на каждый сервер отдельно. Заметьте: если у вас есть больше одной ноды на которой хранятся сообщения из почтовых ящиков, может потребоваться перезапуск tomcat на нодах, где команды были не запущены, чтобы применения вступили в силу.

Вот глобальная настройка размером в 5 Мб:

# su - zimbra
$ zmprovmodifyConfigzimbraFileUploadMaxSize 5000000

Теперь разрешим 20Мб загрузку на сервере mail2.domain.com:

$ zmprovmodifyServer mail2.domain.com zimbraFileUploadMaxSize 20220000

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

zmcontrol restart

Смотрите связанный с этим баг: http://bugzilla.zimbra.com/show_bug.cgi?id=80002

Настраиваем переменную zimbraMailContentMaxSize(общий размер сообщения)

su - zimbra
zmprovms `zmhostname` zimbraMailContentMaxSize 20220000  
zmprovmodifyConfigzimbraMailContentMaxSize 20220000

<attr id="807" name="zimbraMailContentMaxSize" type="long" cardinality="single" optionalIn="globalConfig,server" flags="serverInherited" since="6.0.0_BETA1">
<globalConfigValue>10240000</globalConfigValue>
<desc>Maximum size in bytes for the <content > element in SOAP.  Mail content larger than this limit will be truncated.</desc>
</attr>

Здесь максимальный размер сообщения 42MB
zmprovms `zmhostname` zimbraFileUploadMaxSize 44040192
zmprovms `zmhostname` zimbraMailContentMaxSize 44040192
zmprovmcfzimbraMtaMaxMessageSize 44040192
postfix reload

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

zmcontrol restart

Что видят пользователи в ZWC для вложений

Начиная с ZCS 8.0.4 максимальный загружаемый размер это размер после кодирования. До ZCS 8.0.4 пользователи видели размер до кодированиия.

Вот страница с описанием данного бага: https://bugzilla.zimbra.com/show_bug.cgi?id=76919

Проверка MTA, просмотр максимального размера и события журналов

Бывает полезно проверить правильно ли сконфигурирован ваш сервер или если сервер отбрасывает сообщения с ошибкой превышения максимального размера сообщения приблизительно так:

Это письмо отправлено почтовым сервером yandex.ru.

К сожалению, мы вынуждены сообщить Вам о том, что Ваше письмо не может
быть отправлено одному или нескольким адресатам. Причины указаны ниже.

Пожалуйста, не отвечайте на это сообщение.

**********

Thisisthemailsystemathost yandex.ru.

I’m sorry to have to inform you that your message could not
be delivered to one or more recipients. It’s attached below.

Please, do not reply to this message.

: message size 12274853 exceeds size limit 10240000 of
server mail.domain[ip]
Статус доставки:
Reporting-MTA: dns; forward11.mail.yandex.net
X-Yandex-Queue-ID: D82F6E8089B
X-Yandex-Sender: rfc822; [email protected]
Arrival-Date: Tue, 9 Sep 2022 13:15:15 +0400 (MSK)

Final-Recipient: rfc822; [email protected]
Original-Recipient: rfc822;[email protected]
Action: failed
Status: 5.3.4
Diagnostic-Code: X-Yandex; message size 12274853 exceeds size limit 10240000 of
server mail.domain[ip]

Вы можете затем посредством telnet подключиться к хосту на 25 порт и увидеть какой максимальный размер сообщения установлен. Обратите внимание, если вам требуется аутентификация для того, чтобы успешно проверить смотрите здесь:

http://wiki.zimbra.com/wiki/Ajcody-MTA-Postfix-Topics#Simple_Troubleshooting_For_SMTP_Via_Telnet.2C_Openssl

$ telnet zcsmta.example.com 25
Trying zcsmta.example.com...
Connected to zcsmta.example.com
Escape character is '^]'.
220 [some vendor identifier] service is ready.
helo host.example.com
250 host.example.com
ehlo host.example.com
250-example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-XXXXXXXA
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM:<[email protected]> SIZE=99999999
552 5.3.4 Message size exceeds fixed limit
MAIL FROM:<[email protected]> SIZE=10240000
250 2.1.0 Ok
quit
221 2.0.0 Bye

Вот эта строка “250-SIZE 15728640″, то что нас интересует. В данном случае максимальный размер сообщения 15 Мб. Обратите внимание, что это размер всего сообщения полностью, если сообщение вернулось и в нем было вложение, то имейте ввиду, что его размер увеличился из-за mime-кодирования.

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

Apr 24 09:05:06 zcsmta postfix/smtpd[12694]: NOQUEUE: reject: MAIL from 
host.example.com[192.168.1.166]: 552 5.3.4 Message size exceeds fixed limit; 
proto=ESMTP helo=<example.com>

При попытке отправить с внешнего клиента сообщение, которое превышает предельно допустимое на сервере Zimbra, вы увидите следующее событие в журнале /var/log/zimbra.log

Apr 24 08:33:26 zcsmta postfix/smtpd[32686]: warning: 7A735345A: 
queue file size limit exceeded
71735345A

это id в очереди postfix в запросе сообщения.

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

# grep postfix /var/log/zimbra.log | egrep 'reject|exceed|limit|warn'
Apr 24 07:46:43 zcsmta postfix/smtpd[10184]: NOQUEUE: reject: MAIL from 
host.example.com[192.168.1.166]: 552 5.3.4 Message size exceeds fixed 
limit; proto=ESMTP helo=<host.example.com>
Apr 24 07:47:19 zcsmta postfix/smtpd[10184]: NOQUEUE: reject: MAIL from 
host.example.com[192.168.1.166]: 552 5.3.4 Message size exceeds fixed 
limit; proto=ESMTP helo=<host.example.com>
Apr 24 08:33:26 zcsmta postfix/smtpd[32686]: warning: 7A735345A: queue 
file size limit exceeded
Apr 24 09:05:06 zcsmta postfix/smtpd[12694]: NOQUEUE: reject: MAIL from 
host.example.com[192.168.1.166]: 552 5.3.4 Message size exceeds fixed 
limit; proto=ESMTP helo=<host.example.com>

Источник

One Thought on “Настройка максимального размера сообщения в Zimbra

  1. HorekRediskovich on 3 Декабрь 2022 at 18:27 said:

    Поправьте пожалуйста расставьте пробелы
    $ zmprov modifyConfig zimbraMtaMaxMessageSize 2022000
    $ postfix reload

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Post Navigation