Author: Tim Date: To: exim-users Subject: [Exim] Please help with virtual account mail filtering ..
Hello..
I have Exim4 configured for virtual accounts, domains, etc, using mysql for
lookups, courier-* for serving up the mail, etc.
Local users are able to make use of a .forward to filter mail, forward mail
to another address, etc.
I have been trying to expand this functionality to virtual address' that I
host as well.
I'm using Debian.. nothing custom built (save the configuration files, of
course).
I have a few routers handling e-mail alias', filtering (for virtual
accounts), and virtual delivery (in that order).
It seems that whenver an e-mail is recieved to any virtual address, exim
completely skips the virtual filtering, and continues with regular delivery
(dropping the e-mail in the inbox).
My filter router looks like this:
virtual_filter:
driver = redirect
allow_filter
debug_print = "R: virtual forward for $local_part@$domain"
user=Debian-exim
group=Debian-exim
data = ${lookup mysql {select filter from users where
id='$local_part@$domain'}}
router_home_directory = ${lookup mysql {select home from users where
id='$local_part@$domain'}}
directory_transport = address_directory
A test filter I have reads:
# Exim filter
if $h_subject: contains "test"
then save Maildir/.temp/
endif
However, I get :
1BFELb-0006I7-ED == /var/virtual/example.com/user/Maildir/.temp/
<user@???> R=virtual_filter T=address_directory defer (13):
Permission denied: stat() error for
/var/virtual/example.com/user/Maildir/.temp/: Permission denied
If the mail does not get caught by the filter, (doesn't contain the word
"test"), delivery proceeds normally.
Should I be using a different transport or something?
Any help or direction would be greatly appreciated :)