How do I create anonymous emails sent by users and allow other users to reply back to the anonymous email? Would like to create something like Craigslist in terms of its anonymous emails so that Logged-in users can send email from the site. Once they do, their email will be changed to randomtext@domain.com instead of their original email. This is to prevent other users from knowing the real email of the authenticated users. 

Other users should still be able to send them email with the randomtext@domain.com as To and that reply would be saved on the Users's profile.

How would you go about implementing this? The module I found that's close, but not sure how it works is Mailhandler with Singlebox . But there's rarely any documentation for it. Do you recommend other solutions?
You could use the following components:


an email server you control to create temporary email accounts, or a mail relay service.
use Relation or a custom user field for a user's anonymous email thru user02193213@yoursite.com. Enforce uniqueness of this field. Relation can do alot of this for you as a developer (create a user &lt;-&gt; anonymous email relation, attach category tags to the Relation Entity itself and use relation_query to build reusable lookup functions.
store a mapping of Drupal uid to anonymous emails. In general this is outlined here: https://stackoverflow.com/questions/8179047/email-piping-in-php-like-craigslist-how-do-i-associate-real-emails
upon content submission use Rules to lookup anonymous email addresses of content owner to logged in user and send the email. Your email server you control can then forward to real addresses.


Questions regarding email setup are not drupal setup and inappropriate here. I've just outlined an approach for the Drupal side of things.