Hello, friends,

I have a vds under FreeBSD and email system consists from exim-4.76 on
it. There are only local email users indicated in
/usr/local/etc/exim/passwd.
When I send emails using email-clients (such as Mozilla Thunderbird)
from another hosts that emails send corretly without any problem.
When I tried to send emails with using "squirrelmail" works on the same
vds to the local email users they send corretly too.
But when I try to send emails with using "squirrelmail" to the external
post users that emails rejects by exim with the messages: "Message not
sent. Server replied:   Requested action not taken: mailbox unavailable
550 relay not permitted".
There the next records in '/var/log/exim/reject' about it:
>  H=mail.somename.name (www.somename.name) [ip_addr] F=<[email protected]> 
> rejected RCPT <[email protected]>: relay not permitted

I include the next record into /usr/local/etc/exim/configuration:
> hostlist relay_from_hosts = 127.0.0.1
but have no any affect.

What do I wrong?

The full current configuratuon file of exim attached.
VIRUS_SCAN = yes
POSTGREY_SOCKET = inet:127.0.0.1:10023
FREEBSD = yes
MAILMAN_ENABLE = yes
SPAMCBIN=__ISP_SPAMCBIN__
EXIMBIN=/usr/local/sbin/exim
log_selector =  \
        +all_parents \
        +lost_incoming_connection \
        +received_sender \
        +received_recipients \
        +tls_cipher +tls_peerdn \
        +smtp_confirmation \
        +smtp_syntax_error \
        +smtp_protocol_error
  
#CONFDIR=__ISP_CONFDIR__
daemon_smtp_port = 25:465
tls_certificate = /usr/local/etc/exim/server.crt
tls_privatekey = /usr/local/etc/exim/server.key
tls_on_connect_ports = 465
tls_advertise_hosts = *

.ifdef MAILMAN_ENABLE
#MAILMAN_HOME=__MAILMAN_HOME__
#MAILMAN_WRAP=__MAILMAN_WRAP__
#MAILMAN_USER=__MAILMAN_USER__
#MAILMAN_GROUP=__MAILMAN_GROUP__
MAILMAN_HOME=/usr/local/mailman
MAILMAN_WRAP=/usr/local/mailman/mail/mailman
MAILMAN_USER=mailman
MAILMAN_GROUP=mailman       
.endif

trusted_groups = mgrsecure
trusted_users = www

domainlist local_domains = lsearch;/usr/local/etc/exim/domains
domainlist dummy_domains =
hostlist relay_from_hosts = 127.0.0.1

domainlist relay_to_domains = lsearch;/usr/local/etc/exim/domains
exim_user = mailnull
exim_group = mail

never_users = root
host_lookup = *
rfc1413_hosts = *
rfc1413_query_timeout = 0s
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d
acl_smtp_rcpt = acl_check_rcpt
acl_smtp_data = acl_check_data

begin acl
        acl_check_rcpt:
                accept  hosts = net-lsearch;/usr/local/etc/exim/whitelist

                accept hosts = 127.0.0.1

                accept  domains       = +local_domains
                endpass
                message       = unknown user
                verify        = recipient

                
                deny    hosts = net-lsearch;/usr/local/etc/exim/blacklist
                                message = $host_data                        

                deny    message       = Restricted characters in address
                                domains       = +local_domains
                                local_parts   = ^[.] : ^.*[@%!/|]

                deny    message       = Restricted characters in address
                                domains       = !+local_domains
                                local_parts   = ^[./|] : ^.*[@%!] : ^.*/\\.\\./

                accept  local_parts   = postmaster
                                verify        = recipient
                                domains       = +local_domains

                require verify        = sender

                accept  hosts         = +relay_from_hosts
                                control       = submission


                accept  authenticated = *
                                condition     = ${if 
eq{${extract{5}{:}{${lookup{$authenticated_id}lsearch{/usr/local/etc/exim/passwd}}}}}{no}
 {yes}{no}}
                                condition     = ${if 
eq{${extract{3}{:}{${lookup{${domain:$authenticated_id}}lsearch{/usr/local/etc/exim/domains}}}}}{no}
 {yes}{no}}
                                control       = submission/domain=

                deny    message       = rejected because $sender_host_address 
is in a black list at $dnslist_domain\\n$dnslist_text
                                dnslists      = ${readfile 
{/usr/local/etc/exim/dnsblists}{:}} 

                require message       = relay not permitted
                                domains       = +local_domains : 
+relay_to_domains

                require verify        = recipient

.ifdef POSTGREY_SOCKET
                defer log_message = greylisted host $sender_host_address
                        set acl_m0  = 
request=smtpd_access_policy\nprotocol_state=RCPT\nprotocol_name=${uc:$received_protocol}\nhelo_name=$sender_helo_name\nclient_address=$sender_host_address\nclient_name=$sender_host_name\nsender=$sender_address\nrecipient=$local_part@$domain\ninstance=$sender_host_address/$sender_address/$local_part@$domain\n\n
                        set acl_m0  = 
${sg{${readsocket{POSTGREY_SOCKET}{$acl_m0}{5s}{}{action=DUNNO}}}{action=}{}}
                        message     = ${sg{$acl_m0}{^\\w+\\s*}{}}
                        condition   = ${if 
eq{${uc:${substr{0}{5}{$acl_m0}}}}{DEFER}{true}{false}}
.endif

                accept

        acl_check_data:
                accept

begin routers
                dnslookup:
                driver = dnslookup
#               domains = !+dummy_domains
                domains = ! +local_domains
                transport = remote_smtp
                ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
                self = pass
                no_more

        disabled_domains:
                driver = redirect
                condition = 
${extract{3}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                allow_fail = yes
                data = :fail: Domain disabled
                no_more

        disabled_users:
                driver = redirect
                condition = 
${extract{5}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
                allow_fail = yes
                data = :fail: User disabled
                no_more

        local_domains:
                driver = redirect
                data = 
${quote_local_part:$local_part}@${extract{1}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                cannot_route_message = Unknown user
                no_more

.ifdef SA_ENABLE
        spamcheck_router:
                no_verify
                condition = "${if and { {!def:h_X-Spam-Flag:} {!eq 
{$received_protocol}{spam-scanned}}} {1}{0}}"
                driver = accept
                transport = spamcheck
.endif

        group_aliases:
                driver = redirect
                data = 
${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}
                condition = ${if and{\
                                                
{exists{/usr/local/etc/exim/aliases}}\
                                                {eq 
{${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}}
 {group} }\
                                        } {yes} {no} }
                redirect_router = a_dnslookup

        aliases:
                driver = redirect
                data = 
${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}
                condition = ${if exists{/usr/local/etc/exim/aliases} {yes} {no} 
}

        aliases_pipe:
                driver = redirect
                pipe_transport = address_pipe
                data = ${lookup {$local_part@$domain} 
lsearch{/usr/local/etc/exim/pipe-aliases}}
                condition =${lookup {$local_part@$domain} 
lsearch{/usr/local/etc/exim/pipe-aliases} {yes} {no} }
                                                                

        local_users:
                driver = redirect
                condition = ${lookup {$local_part@$domain} lsearch 
{/usr/local/etc/exim/passwd} {yes} {no} }
                data = $local_part@$domain
                redirect_router = autoreplay

.ifdef MAILMAN_ENABLE
        mailman:
                driver = accept
                require_files = MAILMAN_HOME/lists/$local_part/config.pck
                local_part_suffix_optional
                local_part_suffix = -bounces : -bounces+* : -confirm+* : -join 
: -leave : -owner : -request : -admin : -subscribe : -unsubscribe
                transport = mailman


        mailman_isp:
                driver = accept
                require_files = 
MAILMAN_HOME/lists/$local_part-$domain/config.pck
                local_part_suffix_optional
                local_part_suffix = -bounces : -bounces+* : -confirm+* : -join 
: -leave : -owner : -request : -admin : -subscribe : -unsubscribe
                transport = mailman_isp
.endif

        catchall_for_domains:
                driver = redirect
                headers_add = X-redirected: yes
                data = 
${extract{2}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                file_transport = local_delivery

        unknown_users:
                driver = redirect
                allow_fail = yes
                data = :fail: Unknown user
                no_more

        autoreplay:
                driver = accept
                condition = ${if 
exists{${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}/message.txt}
 {yes} {no}}
                retry_use_local_part
                transport = address_reply
                unseen

        localuser:
                driver = accept
                transport = local_delivery

# Same routers without autoreplay

        a_dnslookup:
                driver = dnslookup
                domains = !+dummy_domains
                transport = remote_smtp
                ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
                self = pass
                no_more

        a_disabled_domains:
                driver = redirect
                condition = 
${extract{3}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                allow_fail = yes
                data = :fail: Domain disabled
                no_more

        a_disabled_users:
                driver = redirect
                condition = 
${extract{5}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
                allow_fail = yes
                data = :fail: User disabled
                no_more

        a_local_domains:
                driver = redirect
                data = 
${quote_local_part:$local_part}@${extract{1}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                cannot_route_message = Unknown user
                redirect_router = a_dnslookup
                no_more

        a_aliases:
                driver = redirect
                data = 
${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/aliases}}}}
                condition = ${if exists{/usr/local/etc/exim/aliases} {yes} {no} 
}
                redirect_router = a_dnslookup

        a_aliases_pipe:
                driver = accept
                transport = aliases_pipe
                condition = ${lookup {$local_part@$domain} lsearch 
{/usr/local/etc/exim/pipe-aliases} {yes} {no} }

        a_local_users:
                driver = accept
                transport = local_delivery
                condition = ${lookup {$local_part@$domain} lsearch 
{/usr/local/etc/exim/passwd} {yes} {no} }

.ifdef MAILMAN_ENABLE
        a_mailman:
                driver = accept
                require_files = MAILMAN_HOME/lists/$local_part/config.pck
                local_part_suffix_optional
                local_part_suffix = -bounces : -bounces+* : -confirm+* : -join 
: -leave : -owner : -request : -admin : -subscribe : -unsubscribe
                transport = mailman

        a_mailman_isp:
                driver = accept
                require_files = 
MAILMAN_HOME/lists/$local_part-$domain/config.pck
                local_part_suffix_optional
                local_part_suffix = -bounces : -bounces+* : -confirm+* : -join 
: -leave : -owner : -request : -admin : -subscribe : -unsubscribe
                transport = mailman_isp
.endif

        a_catchall_for_domains:
                driver = redirect
                headers_add = X-redirected: yes
                data = 
${extract{2}{:}{${lookup{$domain}lsearch{/usr/local/etc/exim/domains}}}}
                file_transport = local_delivery
                redirect_router = a_dnslookup

begin transports
        remote_smtp:
                driver = smtp
  
        local_delivery:
                driver = appendfile
                file = 
${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}/mbox
                delivery_date_add
                envelope_to_add
                return_path_add
                mode = 0660
                quota = 
${extract{3}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}M
                quota_warn_threshold = 75%
                use_lockfile = no
                no_mode_fail_narrower
                user = 
${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
                group = 
${extract{2}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}
                                                  
        address_pipe:
                driver = pipe
                return_output
                                                          
        aliases_pipe:
                driver = pipe
                command = 
${extract{1}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/pipe-aliases}}}}
                use_shell
                                                                        
        address_reply:
                driver = autoreply
                headers = 
${readfile{${extract{4}{:}{${lookup{$local_part@$domain}lsearch{/usr/local/etc/exim/passwd}}}}/message.txt}}
                to = $sender_address

.ifdef MAILMAN_ENABLE
        mailman_isp: 
                driver = pipe
                command = MAILMAN_WRAP '${if def:local_part_suffix 
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} {post}}' $local_part-$domain
                current_directory = MAILMAN_HOME
                home_directory = MAILMAN_HOME
                user = MAILMAN_USER
                group = MAILMAN_GROUP

        mailman:
                driver = pipe
                command = MAILMAN_WRAP '${if def:local_part_suffix 
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} {post}}' $local_part
                current_directory = MAILMAN_HOME
                home_directory = MAILMAN_HOME
                user = MAILMAN_USER
                group = MAILMAN_GROUP
.endif

.ifdef SA_ENABLE
        spamcheck:
                debug_print = "T: spamassassin_pipe for $local_part@$domain"
                driver = pipe
                command = EXIMBIN -oMr spam-scanned -bS
                use_bsmtp
                transport_filter = SPAMCBIN
                home_directory = "/tmp"
                current_directory = "/tmp"
                user = mailnull
                group = mail
                return_fail_output
                message_prefix =
                message_suffix =
.endif


begin retry
*               *               F,2h,15m; G,16h,1h,1.5; F,4d,6h

begin rewrite
.ifdef MAILMAN_ENABLE
        \N^(.*<)?([^<]*)@([^>]*).*$\N   "${if 
exists{MAILMAN_HOME/lists/${sg{$2}{-$3.*}{-$3}}/config.pck} {${sg{$0} {-$3} 
{}}} {$0} }" S
        \N^(.*<)?([^<]*)@([^>]*).*$\N   "${if 
exists{MAILMAN_HOME/lists/${sg{$2}{-$3.*}{-$3}}/config.pck} {${sg{$0} {-$3} 
{}}} {$0} }"
.endif

begin authenticators


cram:
  driver = cram_md5
  public_name = CRAM-MD5
  server_secret = ${extract {6} {:} 
{${lookup{$1}lsearch{/usr/local/etc/exim/passwd}}}}
  server_set_id = $1


plain:
  driver = plaintext
  public_name = PLAIN
  server_prompts = :
  server_condition = ${if and{{!eq{$3}{}} {eq {$3} {${extract {6} {:} 
{${lookup{$2}lsearch{/usr/local/etc/exim/passwd}}}}}}} {yes} {no} }
  server_set_id = $2

login:
  driver = plaintext
  public_name = LOGIN
  server_prompts = "Username:: : Password::"
  server_condition = ${if and{{!eq{$2}{}} {eq {$2} {${extract {6} {:} 
{${lookup{$1}lsearch{/usr/local/etc/exim/passwd}}}}}}} {yes} {no} }
  server_set_id = $1

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to