Re: [exim] problem to disable a specific account

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Dennis Isaías Cervantes
日付:  
To: 'Mike Brudenell', 'Exim Users'
題目: Re: [exim] problem to disable a specific account

thank you for your help
Specifically I need to block a user who can not send any outgoing mail

-----Mensaje original-----
De: Exim-users [mailto:exim-users-bounces+dennis.cervantes=tboxplanet.com@exim.org] En nombre de Mike Brudenell
Enviado el: martes, 14 de junio de 2016 2:27 a. m.
Para: Exim Users <exim-users@???>
Asunto: Re: [exim] problem to disable a specific account

Hi, Dennis -

On 13 June 2016 at 18:50, Dennis Isaías Cervantes < dennis.cervantes@???> wrote:

> I would like if you help me on how I can do to prevent a specific
> account send emails or off for some time, use exim 4.80.1 with mysql
>


You'll need to think carefully about whether you mean:

- you want to stop email addresses whose RFC5321.MailFrom address (in
its envelope) is a specific address, or
- you want to stop email addresses whose RFC5322.From address (in the
"From:" header) is a specific address, or
- you want to block any and all emails from a particular
username/password that someone uses to authenticate to your mail service.

You'll also need to think about what you mean by "prevent". Do you mean:

- you want to refuse to accept the messages, rejecting them with a 5xx
SMTP error code to inform the sender that their message is refused, or
- you want to accept the message into your mail server but freeze it in
the queues so you can review it, or
- you want to accept but deliver to a mailbox for them to be reviewed, or
- you want to accept the message but silently discard it, so the sender
is thinks that their message has gone on to be delivered.

(I make no comment on potential problems with each; I can see use-cases where any of these could be a valid choice.)

Depending on what you mean by "prevent" you want to look at things in your Exim configuration such as:

- the *deny* ACL verb with conditions to match and block with a 5xxx
SMTP error code, or
- the *accept* ACL verb along with a "control = freeze" modifier if you
want to accept by freeze it, or
- to change the recipient address if you want to divert the message to a
mailbox for review, perhaps in a router, or
- the *discard* ACL verb to discard some or all of the recipients.

When writing the ACL you'll need conditions to match those (and only those) messages you want to prevent. For example,

- use the *senders* ACL condition to check the RFC5321.MailFrom address
to see if it's the one you're wanting to prevent in messages, or
- use the *condition* ACL condition to check the *$h_from:* variable to
see if the address in any "From:" line is the one you're wanting to match,
or
- use the *condition* ACL condition to check the value of the
*$authenticated_id* variable to see if someone has logged
into/authenticated to your mail server with the username you're wanting to
block

*Hint:* If you need to check the $h_from: variable don't try and do so in the acl_smtp_rcpt ACL as that's only dealing with recipient addresses from the SMTP "RCPT TO" exchange. Instead you'll need to check the variable somewhere after the headers themselves have been received: for example in the acl_check_data ACL.

You'll find more on ACLs and the variables in the Exim Specification — eg, the chapters on *Access Control Lists* and on *String Expansions*.

If you're going to want to change the account(s) you're preventing often you might might want to abstract them into a file or your MySQL database for matching addresses/usernames instead of hard-coding them into your configuration file.

Cheers,
Mike B-)

--
Systems Administrator & Change Manager
IT Services, University of York, Heslington, York YO10 5DD, UK
Tel: +44-(0)1904-323811

Web: www.york.ac.uk/it-services
Disclaimer: www.york.ac.uk/docs/disclaimer/email.htm
--
## 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/