Postfix: Mails aren't delivered with MS 4.41.3

Drew Marshall drew at THEMARSHALLS.CO.UK
Tue Jun 21 21:37:10 IST 2005


    [ The following text is in the "ISO-8859-15" character set. ]
    [ Your display is set for the "US-ASCII" character set.  ]
    [ Some characters may be displayed incorrectly. ]

Jacques Caruso wrote:

 Hi Julian and everybody else,

I encountered a weird problem today : our mail server (running Debian
Testing) runs Postfix in a split-MTA fashion due to some constraints (I
don't want relayed mail to be scanned, and I don't have a clue how to do
this easily with the official installation method) and MailScanner along
with SA and ClamAV (basically it's quite a standard setup, except for
the two instances of Postfix running).
  

I would give your machine 2 IP addresses. One 'internal' and one
external. The external one use the standard hold queue set up with, the
second specify as

 int.ern.al.ip:smtp   inet  n       -       n       -       -       smtpd
        -o receive_override_options=no_header_body_checks
in master.cf so you get no MailScanner involvement at all.

 Today, the server was upgraded to Postfix 2.2.3 and MailScanner 4.41.3,
and we immediately encountered a problem : mails would just sit still in
the outgoing Postfix's `incoming' queue after being processed by MS. I
discovered that what bothered Postfix is that MS creates subdirectories
in the outgoing queue directory ; apparently, Postfix 2.2 expects a
flat, non-hashed hierarchy there, and won't process queue files hidden
in subdirectories unless I manually do a `postqueue -f'. I tried
searching the list archives, to no avail. But some further investigation
yielded better results. Apparently, what happens is this :

- Postfix is configured to have a hash depth of 1, but *only* for the  
  `defer' and `deferred' queues (note this is by default, I didn't set
  these values in either of my main.cf files) :

  [root at sceuzi][~]# grep hash_queue /etc/postfix/main.cf /etc/postfix.in/main.cf
  [root at sceuzi][~]# postconf hash_queue_depth hash_queue_names
  hash_queue_depth = 1
  hash_queue_names = deferred, defer
  

Which shouldn't be touched by MailScanner as it's using the proven to be
unreliable defer method. you will end up with duplicated/ truncated
messages.

 - MailScanner tries to determine the hash depth, but it uses for this
  purpose one of the two queues with a hash depth of 1 :

Jun 21 19:05:21 sceuzi MailScanner[13147]: JKF: Hash dir depth value being calculated
Jun 21 19:05:21 sceuzi MailScanner[13147]: JKF: Reading . from dir . (/var/spool/postfix.in/deferred)
Jun 21 19:05:21 sceuzi MailScanner[13147]: JKF: Reading .. from dir . (/var/spool/postfix.in/deferred)
Jun 21 19:05:21 sceuzi MailScanner[13147]: JKF: Reading 4 from dir . (/var/spool/postfix.in/deferred)
Jun 21 19:05:21 sceuzi MailScanner[13147]: JKF: Reading . from inner dir 4
Jun 21 19:05:21 sceuzi MailScanner[13147]: JKF: Reading .. from inner dir 4
Jun 21 19:05:21 sceuzi MailScanner[13147]: JKF: Reading 1293535005C from inner dir 4
Jun 21 19:05:21 sceuzi MailScanner[13147]: Postfix queue structure is depth 1

- It then proceeds to create files in the `incoming' queue with the same
  depth, but Postfix expects a depth of 0 in that queue, and doesn't
  process the files.
  

Yes but only because it detected that your defer queues are hashed.
MailScanner has been re-designed to suit the hold queue method so I would
suggest changing your setup. Either run 2 Postfix instances but have one
listening on a non standard port for the out going relay or change your
master.cf as I suggested above. The other option, which I would not
recommend is to change to the following in main.cf;

 hash_queue_names = deferred, defer, incoming

which will solve your problem, but not your setup.

Drew



--
In line with our policy, this message has been scanned for
viruses and dangerous content by MailScanner, and is
believed to be clean. ------------------------ MailScanner list
------------------------
To unsubscribe, email jiscmail at jiscmail.ac.uk with the words:
'leave mailscanner' in the body of the email.
Before posting, read the Wiki (http://wiki.mailscanner.info/)
and the archives (http://www.jiscmail.ac.uk/lists/mailscanner.html).

Support MailScanner development - buy the book off the website!



More information about the MailScanner mailing list