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

Top Page
Delete this message
Reply to this message
Author: Mike Brudenell
Date:  
To: Exim Users
Subject: Re: [exim] How to permit unqualified senders once authenticated
Hi, Adam -

I'm not sure how good an idea it is to accept email addresses not qualified
with a domain name unless, of course, you're going to qualify them by
adding a domain name yourself using *qualify_domain*. For example if you
sent onward an email with the RFC5321.MailFrom set to <myuser> how would a
Non-Delivery Report get returned to the sender: a server further along the
delivery chain doesn't know the domain name.

The *sender_unqualified_hosts* and *recipient_unqualified_hosts* configuration
options are both expandable (marked with a "†" in the *Specification* so
you can use string expansion to do tests when assigning their value. This
value is a *host list*, which is not the same as a hostname; instead it can
be a colon-separated list of textual host names, IP addresses, or netblocks.

So you could perhaps try something devious by using a string expansion that
produces the connecting client's IP address (from *$sender_host_address*)
if the connection is authenticated (*$authenticated_id* is defined),
otherwise the empty string. Not sure how this might affect locally
generated, non-SMTP messages though: they have an empty value for
*$sender_host_address*).

If it matches it'll then have the domain set with your *qualify_domain* setting
applied, whose value isn't expandable so you can't select one based on the
authentication credentials. (However I guess there might be other ways to
do that later in Exim handling process.)

Cheers,
Mike B-)

On 20 March 2017 at 10:04, Adam Nielsen <a.nielsen@???> wrote:

> 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.
>
> The debug logs say this:
>
>   SMTP<< mail FROM:<mydevice> size=19029
>   SMTP>> 501 <mydevice>: sender address must contain a domain
>   LOG: smtp_syntax_error MAIN REJECT
>     unqualified sender rejected: <mydevice> H=mydevice.mydomain

>
> 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?
>
> Many thanks,
> Adam.



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

Web: www.york.ac.uk/it-services
Disclaimer: www.york.ac.uk/docs/disclaimer/email.htm