Ok everyone I hope this helps, I have probably spent over 10 solid hours in trying to work out a solid fix (some fixes other users mention here only work intermittently)
my current setup, wordpress 3.5.2 + Contact Form 3.4.2 + WP-SMPT (plug in)
Problem: contact form 7 confirms message has been successful, however message is not received with website hosting email address
inside the plug in directory for contact form 7, use your FTP program
go to: /includes/classes.php
edit as per below
$headers = "From: $sender\n";
//$headers = "From $sender\n";
(there are two changes "//" and ":" has been removed
I thought this intitally fixed the problem because after this noticed emails coming through, however this was intermittent.
I use godaddy hosting, half the time they would come through hours later and sometimes they would not come at all.
it is imperative to use the correct outgoing server from your hosting company, if you notice there are different users quoting different port details and outgoing servers for the same hosting provider.
I used the exact same one in my Godaddy email setup account, previously i was using the Godaddy outoging servers other users quoted which seemed to work fine but not always
go to WPMPT plug in,
use authenticate option (previously like others suggested i had this turned off, seemed to work OK but not everytime) after authenticating this ensured emails arrived on time, they didnt get lost either
enter email and password
try different ports, 25 or 80 (if using SSL will be different number check with your hosting provider)
use the test emails to see if the email works with the correct port.
I noticed using SMPT authentication and the exact outgoing server that was listed in my email setup made a big difference by ensuring the emails arrived consistenly
and this step also made a difference, log in to your hosting providers email account (web mail with hosting), go to spam filter settings, and add your domain name and email address to the "allow list" in your filter/spam settings. this is because Contact Form 7 uses your own domain hosted email address to send you an email, your hosting provider may even block the email before it reaches your mail box or your mail box spam filter hence you never see it....
ALSO do not updated contact form 7, I dont think it is a very reliable plug in, if you update it, you may need to play around again with the settings to fix the consistency issue of emails not always sending.