[Exim] Problem with aliases and directors

トップ ページ
このメッセージを削除
このメッセージに返信
著者: William Thompson
日付:  
To: exim-users
題目: [Exim] Problem with aliases and directors
I'm not sure if this is a bug or not. here's my director:
vcheck:
        driver = smartuser
        local_parts = !root : !wt
        condition = "${if and { \
                               {eq {$received_protocol}{scanned-ok}} \
                               {or { \
                                    {eq {$sender_host_address}{127.0.0.1}} \
                                    {eq {$sender_host_address}{}} \
                                   } \
                               } \
                              } \
                       {false} {true} \
                      }"
        transport = vscan


in /etc/exim/aliases, I have:

root: wt

Here's the problem. I don't want this to run if I send an email to root.
The program that is in the vscan transport is purposely broken in order to
test it's error reporting (which emails root). The above director works,
however, if I remove !root or !wt from local_parts, it will always run.

with !root removed:
# exim -bt root
root@???
deliver to root in domain cd2.electro-mechanical.com
director = vcheck, transport = vscan
#

with !wt removed:
# exim -bt root
wt@???
    <-- root@???
  deliver to wt in domain cd2.electro-mechanical.com
  director = vcheck, transport = vscan
#


with neither removed:
# exim -bt root
wt@???
    <-- root@???
  deliver to wt in domain cd2.electro-mechanical.com
  director = localuser, transport = local_delivery
#


Is this a bug or a misconfiguration in my exim.conf?

I know I could change the program to do something else, however, my first
attempt wasn't that and wanted to figure it out.

If you want to know, the program calls exim as:
/usr/lib/sendmail -f mail_scan -oi -oem -bm root