One of the most anticipated features in Plesk 9 for me was the option to select Postfix instead of Qmail, and I did it as soon as I upgraded my own server to Plesk 9.
However, from time to time I would receive an error message email from Postfix indicating that one of my messages was not delivered, such as the following:
Out: 220 servername ESMTP Postfix
In: EHLO hostname
Out: 250-servername
Out: 250-PIPELINING
Out: 250-SIZE 102400000
Out: 250-VRFY
Out: 250-ETRN
Out: 250-STARTTLS
Out: 250-AUTH LOGIN CRAM-MD5 PLAIN DIGEST-MD5
Out: 250-ENHANCEDSTATUSCODES
Out: 250-8BITMIME
Out: 250 DSN
In: MAIL FROM: SIZE=3368
Out: 250 2.1.0 Ok
In: RCPT TO:
Out: 250 2.1.5 Ok
In: DATA
Out: 354 End data with .
Out: 451 4.3.0 Error: queue file write error
In: QUIT
Out: 221 2.0.0 Bye
There would also be an error message in the Plesk mail log such as:
postfix/spawn[16937]: warning: command /usr/lib/plesk-9.0/postfix-queue exit status 255
The Plesk knowledgebase article says that this issue will be fixed in a future release of Plesk and to change back to Qmail, something I didn’t want to do so I set about finding a workaround of my own.
I discovered that by changing one line in /etc/postfix/master.cf from:
smtp inet n - - - - smtpd -o smtpd_proxy_filter=127.0.0.1:10025
to
smtp inet n - n - - smtpd
stops the error messages and allows those messages to be delivered.
Doing this breaks some features like spam filtering, but as my server sits behind an IronPort email security appliance for mail all messages are filtered prior to delivery anyway so this was a compromise I could live with.