Su código debería funcionar bien, pero hay que añadir lo siguiente a su web.config (como alternativa a cualquier configuración SMTP basada en el código):
<system.net>
<mailSettings>
<smtp deliveryMethod="Network">
<network host="your.smtpserver.com" port="25" userName="smtpusername" password="smtppassword" />
</smtp>
</mailSettings>
</system.net>
Si usted no tiene acceso a un servidor SMTP remoto (yo uso mis propios detalles de correo electrónico POP3/SMTP), puede configurar un servidor SMTP en la instancia local de IIS, pero puede funcionar para problemas con la retransmisión (ya que la mayoría de las direcciones IP del consumidor ISP están en la lista negra).
Una buena alternativa, si usted no tiene acceso a un servidor SMTP, es utilizar la siguiente configuración en lugar de lo anterior:
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="C:\mail"/>
</smtp>
</mailSettings>
</system.net>
Esto creará una copia de disco duro del correo electrónico, el cual es bastante útil. Tendrá que crear el directorio que especificó arriba, de lo contrario recibirá un error al intentar enviar un correo electrónico.
Puede configurar estos detalles en el código según otras respuestas aquí (configurando las propiedades en el objeto SmtpClient que ha creado), pero a menos que obtenga la información de una fuente de datos o la información sea dinámica, es codificación superflua, cuando .Net ya hace esto por usted.
puede enviar correos electrónicos usando gmail, hotmail, etc. –
muéstranos tu código. –
Utilizo este http://smtp4dev.codeplex.com/ –