I am using Yahoo web hosting and was facing the same problem. I could resolve my problem by making following changes-
1. I asked webhosting provider for SMTP Port and SMTP Host details and saved those in Global configuration.
For yahoo the details were as follows
Mailer : PHPMailer
Mailfrom : email@example.com
From name : as desired
sendmail Path: /usr/sbin/sendmail
SMTP authentication: NO
SMTP security : SSL
SMTP Port : 465
SMTP Host : smtp.bizmail.yahoo.com
(leave SMTP username and PW blank)
2. In '/libraries/phpmailer/phpmailer.php
and in '/libraries/phpmailer.php/smtp.php
I changed the port from '25' to '465'
3. In 'components/com_contact/controller.php'
on 163rd line, $mail --> setSender (array($email, $name))
enter your default mail address as set in ur web hosting server as given below
$mail --> setSender( "firstname.lastname@example.org" )
This worked perfectly for me. Hope it does for you too.
You can check it out at my website http://www.travel-india.co.in