Contact form SOMETIMES doesn't work
You may have been blacklisted by the server you're try to send mail to.  Check this first.

To help from being marked as spam send from an address ending with your domain name.

For example: do-not-reply@example.com or notifications@example.com

Then you can set the "Reply-To" header email address to your users email using hook_mail().

Something like this maybe?

$params['reply-to'] = $user-&gt;mail;

function HOOK_mail($key, &amp;$message, $params) {
    switch ($key) {
        case 'your-key-here':
            $message['Reply-To'] = $params['reply-to'];
            $message['subject'] = $params['subject'];
            $message['body'] = $params['body'];
            $message['headers']['Reply-To'] = $params['reply-to'];
            $message['headers']['Return-Path'] = $params['return-path'];
            break;
    }
}


It has been forever and a day sense I've looked at this last, but you may want to scope out RFC822.  

Note that ['Return-Path'] is important here as well if you monitor emails for bounces (hard/soft/etc).  Where ['Reply-To'] directs replies, I believe ['Return-Path'] directs bounces and errors.