What you describe is often caused by the host having the php mail() function turned off.
If you’re using SPForm as a contact form, for example, and you see the "thank you" page, the email has been "sent" successfully as far as SPForm and MODx are concerned. If it doesn’t reach its destination, it’s usually because the web host host didn’t send it on.
SPForm has an alternate method that uses SMTP instead of mail() that will work without using the PHP mail() function. I think eForm has this option as well.
Bob