Configurar opciones de envío de correo en .NET 2

Una forma para que las instancias de la clase SmtpClient se auto configuren es especificar sus valores en la sección mailSettings del archivo de configuración (funciona tanto en aplicaciones Web como de escritorio).

xml:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.net>
    <mailSettings>
      <smtp deliveryMethod="Network">
        <network
          host="smtp.dominio.com"
          port="25"
          userName="usuario@dominio.com"
          password="contraseña"
        />

      </smtp>
    </mailSettings>
  </system.net>
</configuration>

Las instancias de SmtpClient usan los valores definidos en esa sección si es que no se especifica nada al momento de crear el objeto:

csharp:
using System.Net.Mail;

class Program
{
    static void Main()
    {
        MailMessage mensaje = new MailMessage("usuario@dominio.com", "alex@dominio.com");
        mensaje.Subject = "Prueba";
        mensaje.Body = "Contenido";

        SmtpClient client = new SmtpClient();

        client.Send(mensaje);
    }
}

Una limitación de este método, es que no hay forma de especificarle a través del archivo de configuración, que use SSL para la autenticación y envío de los correos.