> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>
> Testing root@???
>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>
> Considering root@???
>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>
> routing root@???
>
> --------> hubbed_hosts router <--------
>
> local_part=root domain=mydomain.com
>
> checking domains
>
> expansion of "${if
> exists{/etc/exim4/hubbed_hosts}{partial-lsearch;/etc/exim4/hu
>
>
> bbed_hosts}fail}" forced
> failure: assume not in this list
>
> hubbed_hosts router skipped: domains mismatch
>
> --------> smarthost router <--------
>
> local_part=root domain=mydomain.com
>
> checking domains
>
> mydomain.com in "@:localhost:ubuntu"? no (end of list)
>
> mydomain.com in "! +local_domains"? yes (end of list)
>
> R: smarthost for root@???
>
> calling smarthost router
>
> smarthost router called for root@???
>
> domain = mydomain.com
>
>
>
Right. This basically means that you don't have a router set up for dealing with local domains - all mail is handed off to a smarthost. Are you using the standard Unbuntu/Debian split config ? If so, and you want to keep using it, you will probably have better luck asking on the Debian Exim list (whether you agree with them or not the Debian maintainers "simplified" the config in such a way that it's pretty hard for those of us not using that particular way of configuring things to understand how such systems are configured).
The details of that list can be found at
http://lists.alioth.debian.org/mailman/listinfo/pkg-exim4-users
If you're not using the split config, then perhaps posting your config would allow us to see what would need to be changed.
Basically, what the problem is is that there's no router to handle "local" addresses like your root example before all the mail is passed off to a smarthost. You need something like a router using something like a redirect driver before the smarthost router that can do a standard aliases lookup.
Sorry I can't be of more help.
John