Archive for June, 2008

Postfix and Cyrus data format error. Command output: root: Mailbox does not exist

I saw tons of these messages in my mailog:

Jun 30 12:53:42 mx02 postfix/pipe[14167]: 09275108B2B: to=, relay=cyrus, delay=20, delays=19/0/0/0.01, dsn=5.6.0, status=bounced (data format error. Command output: spam: Mailbox does not exist )

This mailserver handles about 150k e-mails a day. We use postfix/cyrus/MailScanner/MySQL.
Users can set their own spamsettings. For example a user can forward his/her spam to a different e-mail address. I set the spam.actions for MailScanner to:

forward bla@foo.bar header "X-Spam-Status: yes"

This is what did not work and gave the errors. Postfix complains about the fact that cyrus does not know this e-mail address, and this is correct.

After some research i found out that this was very odd :)
E-mail sent to an e-mail address which is not classified as spam works fine, but when e-mail is classified as spam, postfix requeues it and this is not working as expected. Somehow postfix does not rewrite the e-mail address to a local (cyrus) address before it passes it on to cyrus deliver.

Well, my fix was not that hard after all. Just use the cyrus mailbox for forwarding spam to from MailScanner.
For example if your cyrus mailbox name is "joe" just forward the spam to joe@your.fully_qualified_server.name

When someone has a clue about how to fix this without a workaround, please let met know.

No Comments »

Stop OSX from creating irritating dot files on network drives

To stop Max OSX from creating .DS_Store files on network drives (and prevent pissing of your co-workers) just type in this on a terminal and reboot:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

3 Comments »

Securely display email adresses on a website

To prevent your email address being spidered by some spammer you should never put your e-mail addresses on a website. I developed a PHP script that replaces found e-mail addresses by a secure version using jQuery.

See it in action here

Download the example script here: contentprotect.php

No Comments »