Re: [exim] How to permit unqualified senders once authentica…

Top Page
Delete this message
Reply to this message
Author: Kirill Miazine
Date:  
To: exim-users
Subject: Re: [exim] How to permit unqualified senders once authenticated
* Adam Nielsen [2017-03-20 20:04]:
>Hi all,
>
>New issue, now I have SMTP AUTH figured out. When one of my network
>devices sends e-mail, it uses an unqualified name (just the hostname
>with no '@' or domain.) Exim rejects this as it does not allow
>unqualified addresses from remote hosts.

[...]
>It looks like there are two options "sender_unqualified_hosts" and
>"recipient_unqualified_hosts" that could permit this, however from what
>I can make out you can only specify hostnames for both options. Since
>my troublesome device is behind a dynamic IP, there's no hostname that
>can be specified.
>
>It is of course authenticating with Exim so it is permitted to send
>mail, so I am trying to figure out how to allow unqualified senders
>over authenticated connections. Either allowing these addresses or
>having Exim qualify them would be fine, but I can't quite see how to
>manage this.
>
>There seems to be a "submission" control option to make Exim behave
>like the connection is coming from an MUA (where unqualified senders
>are apparently permitted), so I tried adding this to my config:
>
>  acl_smtp_mail = acl_check_mail
>  acl_check_mail:
>    accept
>      authenticated = *
>      control = submission/domain=mydomain

>
>I figured the MAIL ACL is where it belongs since the Exim logs above
>indicate failure immediately after the SMTP MAIL FROM command.
>Unfortunately, adding this ACL does not do anything and the message is
>still rejected for the same reasons.
>
>What am I missing?


You correctly spotted sender_unqualified_hosts and it is the option to
use in this case. Setting "control = submission" will not make Exim
accept an address without a domain part, you'll have to set
sender_unqualified_hosts. If your client hosts are dynamic, you could
set it to *. If your clients connect to some other port than 25, you
could do this (untested!):

    SEnder_unqualified_hosts = ${if =={$received_port}{25}{}{*}}


This will make sender_unqualified_hosts empty for port 25, but * for
everyone else.

-- 
    -- Kirill Miazine <km@???>