`get_object_for_email` does a catalog lookup in the end. The catalog lookup is restricted.

The `get_destination_owner` is called when 1. no user (or email) was found and 2. sender validation is deactivated. In this situation we need to get the destination for getting it's owner, which is used as fallback. Since we have no user yet (that's why we have `get_destination_owner`) we cannot do restricted catalog queries (thus we cannot use `get_object_for_email` nor `get_destination`) if the destination is not public.

This leaves us with two options:
1. Keep it the way as it is in my PR, which means that when a non-default `IEmailAddress` adapter is used AND `validate_sender = False` is configured, it is simply broken.
2. Remove the `validate_sender` option and no longer support this use case - we could get rid of `get_destination_owner` then.

@buchi could you also post your opinion about this?