In case if you are using Yahoo! Web Hosting and is still looking for a way to use WP-contact form ...
I've just posted the following to two similar threads (63559 & 71862).
Maybe this could help...
I just signed up with Yahoo Web Hosting for my wordpress blog. During the setup of WP-contact form, I also encountered the same problem.
I did the following and now my form works fine. As I am not familiar with how to write out instruction, if I confuse you further during the following explanation, please forgive me. :-)
Under your Yahoo Web Hosting account, go to Web Hosting Control Panel > Create & Update > php/perl mail setup.
At PHP/Perl Mail Setup, set your default "From:" field on the right hand side.
I believe in the attempt to restrict spamming, Yahoo requires all PHP mails to specify a from: and to: address that is in your own domain.
Then, go to wordpress dashboard and locate Plugin Editor.
Open the wp-contact_form.php file (version 1.4.3), scroll down to the following:
if(wpcf_check_input()) // If the input check returns true (ie. there has been a submission & input is ok)
******ADD the following line:******
$from = "firstname.lastname@example.org";
$recipient = get_option('wpcf_email');
(make sure your email address set up under Contact Form Options is an address within the domain as well!)
$subject = get_option('wpcf_subject');
Scroll through the section on $success_msg = get_option('wpcf_success_msg');
At the following $headers, add $from; before $name <$email>\n" so that when the email is generated, we've fulfilled the Yahoo! requirement;
$headers = "MIME-Version: 1.0\n";
$headers .= "From: $from; $name <$email>\n";
$headers .= "Content-Type: text/plain; charset=\"" . get_settings('blog_charset') . "\"\n";
At the $fullmsg, I've added a line to see the email address of the sender but you can omit it:
$fullmsg = "$name wrote:\n";
$fullmsg .= wordwrap($msg, 80, "\n") . "\n\n";
$fullmsg .= "Website: " . $website . "\n";
$fullmsg .= "Email: " . $email . "\n";
$fullmsg .= "IP: " . getip();
mail($recipient, $subject, $fullmsg, $headers);
Please let me know if it also works for you ...