I don’t think you’ll find a way to archive outbound mail. That mail goes straight from your mail client (i.e. Outlook) to a DreamHost SMTP server where you don’t have access. Your user(s) will have to bcc: their mail to go to a specific mailbox.
To archive inbound mail, you’ll need to add a forwarder to each account (in additional to its fully hosted mailbox) that goes to that specific mailbox I mentioned above.
Then, you’ll need to set up Maildrop on that mailbox:
Or jump into the world of procmail on your shell account: