[exim] pipe & concurrent deliveries

Top Page
Delete this message
Reply to this message
Author: Boris Kovalenko
Date:  
To: exim-users
Subject: [exim] pipe & concurrent deliveries
Hello!

    We have one alias with about 3000 aliased names. When we're trying 
to send mail to this alias, the system sends about 1000 messages and 
stops with status "completed", but with message "** /dev/null  
T=address_file: delivery to file forbidden". Yes, I know this is 
restriction of "one_time", but removing one_time did not help. Now the 
message is "system limit of processes reached". The limit is 1024 user 
processes. My configuration of routers and transports is below. So the 
question is - how may I deliver messages to all of my aliased 
recepients? AFAIK there is no way to limit concurrent delivery processes 
by exim.


ldap_aliases:
    driver = redirect
    allow_fail
    allow_defer
    one_time = true
    data = ${lookup ldap{LDAP_AUTH \
        LDAP_ROOT_ALIASES?mailAliasedName?sub?(&\
        (mailAlias=${quote_ldap:$local_part}))}}
    file_transport = address_file
    pipe_transport = address_pipe


ldapuser_local:
    driver = accept
    condition = ${lookup ldapdn{LDAP_AUTH \
        LDAP_ROOT_ACCOUNTS??sub?(&(accountStatus=TRUE)\
        (mail=${quote_ldap:$local_part}${quote_ldap:@}\
        ${quote_ldap:$domain}))}{yes}{no}}
    transport = ldap_delivery


ldap_delivery:
    driver = pipe
    command = /usr/libexec/dovecot/fixdeliver -d $local_part@$domain
    message_prefix =
    message_suffix =
    delivery_date_add
    envelope_to_add
    return_path_add
    log_output
    user = mail
    environment = UMASK=0007 : UNAME=$local_part : DOMAIN=$domain


With respect,
    Boris Kovalenko
    JSC "TAGNet"