[reposting to list, even if you posted other messages after this] Vadtec a écrit : >> you have an error in your perl script. >> > Maybe.
debug the script. run it manually. >> >>> [snipped to save space] >>> >>> <[EMAIL PROTECTED]>: cannot append message to file >>> /path/to/my/perl/script/parse.pl: cannot open file: >>> Permission denied >>> >>> >> >> why would you append a message to a perl script? >> > Because Perl has the nifty ability to receive from stdin so that I can > parse the e-mail to extract data from it. I don't so much care about the > e-mail it self. That's not how I understand it. I understand it like this: the message is being appended to (added to the end of) the file /path/.../parse.pl, not being passed to stding after executing the script. To be clear, this is like: # cat message.eml >> /path/.../parse.pl after a message is appended, the script is invalid (syntax errors). and after more and more messages are appended, the script becomes larger and larger. do you understand what I mean? > parse: |perl /path/to/my/script/parse.pl As Wietse said, quote the command: parse: "|perl /path/to/..../parse.pl" and instead of running perl like this, add "#!/usr/bin/perl" (adjust the path if perl is somewhere else) at the beginning of the script, and make the script executable. This way you can simply do parse: "|/path/.../parse.pl" it is a good security practice to always use absolute paths (/usr/bin/perl instead of perl). Finally, since the aliases file belongs to root, the script is executed as "nobody", which explains the permission problems. to run the script as a user "foo", put it in a separate file, say foo_aliases and use alias_maps = hash:/etc/.../aliases hash:/etc/postfix/foo_aliases then chown foo_aliases to "foo". An alternative is to use a transport in master.cf instead of using alias_maps.