How about
3. Rewrite `get_object_for_email` to do an unrestricted lookup, and `if validate_sender and user is not None` do a manual permission check for `user` on `destination`?