3

I want to block some users to sending out mails to other domains in Exim4. I tried the following configuration but did not work.

Changes done in exim.conf file:

In the main configuration section, enabled the acl_smtp_mail control as follows:

acl_smtp_mail = acl_check_mail

Then, in the acl_check_rcpt ACL configuration section, created a new rule:

accept   condition = ${lookup{$sender_address}lsearch{/etc/exim/freezelist_sender_addresses}{1}{0}}
         control   = freeze/no_tell

I tried this but not worked. Please advice me with configuration.

2 Answers 2

4

You can use the following acl

acl_smtp_rcpt = acl_check_rcpt

acl_check_rcpt:

  deny
     message = The $sender_address is prohibited to send mail to the $domain
     senders = lsearch;/etc/exim/restricted_sender
     domains = lsearch;/etc/exim/restricted_domains

/etc/exim/restricted_sender
[email protected]

/etc/exim/restricted_domains
gmail.com

Testing

# swaks -s mail.example.net --to [email protected] --from [email protected]
=== Trying mail.example.net:25...
=== Connected to mail.example.net.
<-  220 mail.example.net, [xxx.xxx.114.28]
 -> EHLO www.example.net
<-  250-mail.example.net Hello www.example.net [xxx.xxx.114.28]
<-  250-SIZE 52428800
<-  250-PIPELINING
<-  250-STARTTLS
<-  250 HELP
 -> MAIL FROM:<[email protected]>
<-  250 OK
 -> RCPT TO:<[email protected]>
<** 550 The [email protected] is prohobited to sent mail to the gmail.com
 -> QUIT
<-  221 mail.example.net closing connection
=== Connection closed with remote host.
1
  • 2
    I wish I could add another +1 for demonstrating using swaks, the best ever tool created for testing smtp connections, configuration, and seeing smtp conversation. Great comment!
    – Todd Lyons
    Feb 21, 2014 at 15:07
0

The final Solution step by step

  1. Create file restricted_sender. Example: /etc/restricted_sender
  2. Edit exim.conf
  3. Add the next rule at the beginning of acl_smtp_rcpt: (or how you have called it)

    deny condition = ${lookup{$sender_address}nwildlsearch{/path/to/the/restricted_sender}   {yes}}
      domains = !+local_domains
    

File /path/to/the/restricted_sender contain emails one per line:

[email protected]
[email protected]

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .