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 <[email protected]> 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 -- ## 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/
