7.7. Message Processing¶
Contents
7.7.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:7076: 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.
7.7.1.1. Pool and queue size¶
Note
Options available from version 1.6.2
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-ds/etc/config.cf
file and add two values at the end of the file, like this:
POOL_SIZE=10
QUEUE_SIZE=20
save changes and restart:
/etc/init.d/msh-ds-milter restart
Note
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.
Note
Read how to interpret milter stats and adjust POOL_SIZE and QUEUE_SIZE parameter.
7.7.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.
7.7.2.1. zimbraMtaMilterDefaultAction parameter¶
Note
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"
7.7.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-ds-milter
service:
/etc/init.d/msh-ds-milter restart