I send with out any problem from my local web app , to my yahoo mail from my gmail!
clean up your config, because I have not set any thing , its default is ok!
but set this to your config maybe helpful for you:
<system.net>
<mailSettings>
<smtp deliveryMethod="PickupDirectoryFromIis">
<network defaultCredentials="true" host="localhost" port="25"/>
</smtp>
</mailSettings>
</system.net>
and add this to your code:
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;