Configuring maxmessagesize

From Zimbra :: Wiki

(Difference between revisions)
Jump to: navigation, search
m (Postfix configuration (zimbraMtaMaxMessageSize and message_size_limit))
m (General Discussion About Value Sizing)
(4 intermediate revisions by one user not shown)
Line 1: Line 1:
 
The following explains how to observe and adjust the Maximum Message Size for messages passing through the Zimbra MTA (Postfix). The '''message_size_limit''' [http://www.postfix.org/postconf.5.html#message_size_limit postconf parameter] is configured globally for all Zimbra MTAs. The default Zimbra MTA configuration uses the default Postfix message_size_limit of 10MB (i.e. '10240000' bytes). Note that this is the size of the full [http://www.faqs.org/rfcs/rfc2822.html RFC 2822] internet message, ''after'' any necessary MIME-encoding.
 
The following explains how to observe and adjust the Maximum Message Size for messages passing through the Zimbra MTA (Postfix). The '''message_size_limit''' [http://www.postfix.org/postconf.5.html#message_size_limit postconf parameter] is configured globally for all Zimbra MTAs. The default Zimbra MTA configuration uses the default Postfix message_size_limit of 10MB (i.e. '10240000' bytes). Note that this is the size of the full [http://www.faqs.org/rfcs/rfc2822.html RFC 2822] internet message, ''after'' any necessary MIME-encoding.
  
==Initial Warning==
+
==An Initial Warning On These Values==
  
Please do not set this limits too high, as postfix will check to confirm you have the free space on the partition. It multiplies the variable by 1.5 and if the free space isn't available on the partition it will not send ANY messages - effectively causing an mta outage.
+
Please do not set these limits too high, as postfix will check to confirm you have the free space on the partition. For zimbraMtaMaxMessageSize, it multiplies the variable by 1.5 and if the free space isn't available on the partition it will not send ANY messages - effectively causing an mta outage. You'll see a message in /var/log/zimbra.log like this if you set zimbraMtaMaxMessageSize to high :
 +
 
 +
<pre>
 +
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:
 +
  161044520960 bytes < 1.5*message size limit
 +
</pre>
 +
 
 +
==General Discussion About Value Sizing==
 +
 
 +
This is being added because we find many customers are confused by the variable sizing and then what users see as the limitation when they go to upload an attachment. This wiki mentions the various variables involved with message sizing. The import part to pay attention to is:
 +
 
 +
* '''"Note that this is the size of the full RFC 2822 internet message, after any necessary MIME-encoding."'''
 +
 
 +
There is no predictable % increase of the message size after the encoding. We recommend a 150% assumption if one doesn't want to be
 +
tweaking the variables often. Meaning, if your policy it to not allow the sending of messages/attachments much larger than 25 MB's BEFORE encoding, then
 +
use 38MB's for the variable numbers that you would configure per the steps below. Normally, the encoding never reaches this level.
 +
 
 +
To upload a 15957664 byte file [15.218414307 megabyte] you would need to have the upload limit '''at least''' set to 20.849226952 [megabytes].  That's
 +
using %137 increase for mime-encoding. See this article for details on it:
 +
 
 +
* http://luxsci.com/blog/raw-vs-encoded-email-message-size-whats-the-difference.html
 +
 +
You can use this calculator to help manage the variable you want:
 +
 
 +
* http://egret.net/kb__mb.htm
 +
 
 +
Note - again, we recommend use %150 conversion rate for the encoding so you can be sure of the upload rather than cutting it close. The %137
 +
reference isn't a fixed number but rather a possible average.
  
 
==Postfix configuration (zimbraMtaMaxMessageSize and message_size_limit)==
 
==Postfix configuration (zimbraMtaMaxMessageSize and message_size_limit)==

Revision as of 20:51, 20 February 2013

The following explains how to observe and adjust the Maximum Message Size for messages passing through the Zimbra MTA (Postfix). The message_size_limit postconf parameter is configured globally for all Zimbra MTAs. The default Zimbra MTA configuration uses the default Postfix message_size_limit of 10MB (i.e. '10240000' bytes). Note that this is the size of the full RFC 2822 internet message, after any necessary MIME-encoding.

Contents

An Initial Warning On These Values

Please do not set these limits too high, as postfix will check to confirm you have the free space on the partition. For zimbraMtaMaxMessageSize, it multiplies the variable by 1.5 and if the free space isn't available on the partition it will not send ANY messages - effectively causing an mta outage. You'll see a message in /var/log/zimbra.log like this if you set zimbraMtaMaxMessageSize to high :

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: 
  161044520960 bytes < 1.5*message size limit

General Discussion About Value Sizing

This is being added because we find many customers are confused by the variable sizing and then what users see as the limitation when they go to upload an attachment. This wiki mentions the various variables involved with message sizing. The import part to pay attention to is:

  • "Note that this is the size of the full RFC 2822 internet message, after any necessary MIME-encoding."

There is no predictable % increase of the message size after the encoding. We recommend a 150% assumption if one doesn't want to be tweaking the variables often. Meaning, if your policy it to not allow the sending of messages/attachments much larger than 25 MB's BEFORE encoding, then use 38MB's for the variable numbers that you would configure per the steps below. Normally, the encoding never reaches this level.

To upload a 15957664 byte file [15.218414307 megabyte] you would need to have the upload limit at least set to 20.849226952 [megabytes]. That's using %137 increase for mime-encoding. See this article for details on it:

You can use this calculator to help manage the variable you want:

Note - again, we recommend use %150 conversion rate for the encoding so you can be sure of the upload rather than cutting it close. The %137 reference isn't a fixed number but rather a possible average.

Postfix configuration (zimbraMtaMaxMessageSize and message_size_limit)

You can examine the current value of this parameter like this:

# su - zimbra
$ postconf message_size_limit
message_size_limit = 10240000

This configuration parameter is stored in the zimbra ldap directory, and propagated to postconf's message_size_limit by zmmtaconfig, which is invoked by the zimbra postfix command. The following commands will set the message_size_limit to 2MB (adjust this value to suit your needs):

# su - zimbra
$ zmprov modifyConfig zimbraMtaMaxMessageSize 2048000
$ postfix reload

You can then confirm the changes with this command:

$ postconf | grep message_size_limit

File upload size configuration (zimbraFileUploadMaxSize)

Until ZCS 5, there is a separate configuration parameter for file uploads . File uploads include, for example, attachments to messages (appointments, tasks, etc), and messages imported by the migration tools (PST Import Wizard, Exchange Migration Wizard, etc). The zimbraFileUploadMaxSize can be configured globally or per server. Note: If you have more than one mailbox node, it may be necessary to restart tomcat on nodes where the commands were not run in order to pick up the changes immediately.

This will globally set the size to 5mb:

# su - zimbra
$ zmprov modifyConfig zimbraFileUploadMaxSize 5000000

Then this will allow 20mb uploads to the server mail2.domain.com:

$ zmprov modifyServer mail2.domain.com zimbraFileUploadMaxSize 20000000

The size of the zimbraMailContentMaxSize controls the overall message size

su - zimbra
zmprov ms `zmhostname` zimbraMailContentMaxSize 20000000  
zmprov modifyConfig zimbraMailContentMaxSize 20000000
<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>
 Here is an example to set the max message size to 42MB
zmprov ms `zmhostname` zimbraFileUploadMaxSize 44040192
zmprov ms `zmhostname` zimbraMailContentMaxSize 44040192
zmprov mcf zimbraMtaMaxMessageSize 44040192
postfix reload
one thing to watch for is to use a conversion toll to calculate the value in bytes otherwise it won't be accepted

Additional Resources

http://www.postfix.org/resource.html


Verified Against: unknown Date Created: 1/31/2007
Article ID: http://wiki.zimbra.com/index.php?title=Configuring_maxmessagesize Date Modified: 02/20/2013
Personal tools