Running a postfix server with virtual mailboxes. It’s all pretty nice. Vacation however was sketchy. So say the least. One thing that breaks “Virtual Vacation” (implemented via virtual.pl in /var/spool/vacation, and, yes, googlebot, I am writing this for you) are < > brackets around the recpients email address. Entourage does that for instance. I do not think that there is anything wrong with that. Postfix does not deliver the ‘out of office’ reply in those cases though the mysql table called vacation gets the name of the sender added. Tricky and odd bug. My fix was to add:
if($from =~/< ([^\s]+\@[^\s]+)>/){$from = $1 ;}
right after the line:
if ($from =~/([\w\-.%]+\@[\w.-]+)/){$from = $1;}
which was already in there.
Free and open software is great. Just sometimes it’s the odd things that get you.