There’s a difference between domain “hosting” and domain “registration.” Your first paragraph asks about hosting email and web here, but the last paragraph implies email here, and web there.
To host email at a different host than your web site, you’ll need to update your MX records:
To get the MX record entries for a service hosted here, go to the Panel for Manage Domains and click DNS. You’ll see the MX and A record entries needed for mail services. Those are the entries you’ll need to add to the DNS where your site is hosted.
If you really want to host everything here for a domain you registered somewhere else, all you have to do is go to the other host and tell it to use DreamHost’s DNS servers for your domain.