6.5. Message Processing

6.5.1. Can’t read SMFIC_OPTNEG reply packet header: Connection timed out

When you receive this kind of error in mail log:

mx postfix/amavisd/smtpd[25535]: warning: milter inet:X.X.X.X:7074: can't read SMFIC_OPTNEG reply packet header: Connection timed out

It means that milter is rejecting messages probably because it’s too busy to work on current messages.

There are three parameters which could be adjusted. Pool and queue size


Options available from version 1.8

Application internally store messages in fixed size queues, there are two values which could be adjusted - pool size and queue size - higher values will let the application to work on more messages at the same time.

Edit /opt/msh-traffic-policy/etc/config.cf file and add two values at the end of the file, like this:


save changes and restart:

/etc/init.d/msh-tp-milter restart


Above values are default, so even not specified application use 10 for POOL_SIZE and 20 for QUEUE_SIZE.

To resolve issue with Connection time out try to increase default values.


Read how to interpret milter stats and adjust POOL_SIZE and QUEUE_SIZE parameter.

6.5.2. Message skipped from milter processing, no space in queue.

This warning can be found in milter-XXXXX.log file when application exceeds MaximumQueueSize.

POOL_SIZE and QUEUE_SIZE parameters need to be increased. zimbraMtaMilterDefaultAction parameter


Only for Zimbra Collaboration Suite.

Change zimbraMtaMilterDefaultAction parameters to accept value, thanks to this while huge peek of traffic messages will be delivered rather than rejected. Application will not add disclaimer/signature, but in general it’s a better scenario than rejecting the message.

Use command:

zmprov ms `hostname` zimbraMtaMilterDefaultAction "accept"

6.5.3. UnsupportedEncodingException: unicode-1-1-utf-7

UTF-7 encoding is not supported by default Java implementation. One additional library must be installed to support emails in UTF-7 encoding. Not only by our application but any app which is using Java.

Go to http://www.freeutils.net/source/jcharset/ web site. Select I Accept the terms option and click JCharset 2.0 download link. From downloaded archive extract jcharset-2.0.jar file, it will be in lib directory.

Copy jcharset-2.0.jar file to $JAVA_HOME/jre/lib/ext directory. Where $JAVA_HOME is an environment variable which points to java location (see JAVA_HOME variable). After copying check the file permissions, should be the same like other files in ext directory.

Restart msh-tp-milter service:

/etc/init.d/msh-tp-milter restart