Veo diferentes versiones del constructor, uno usa información de web.config, uno especifica el host y otro el host y el puerto. Pero, ¿cómo configuro el nombre de usuario y la contraseña en algo diferente de web.config? Tenemos el problema de que algunos clientes de alta seguridad bloquean nuestro smtp interno y queremos usar su servidor smtp, ¿hay alguna forma de hacerlo desde el código en lugar de web.config?
En este caso, ¿cómo usaría las credenciales web.config si ninguna está disponible en la base de datos, por ejemplo?
public static void CreateTestMessage1(string server, int port)
{
string to = "jane@contoso.com";
string from = "ben@contoso.com";
string subject = "Using the new SMTP client.";
string body = @"Using this new feature, you can send an e-mail message from an application very easily.";
MailMessage message = new MailMessage(from, to, subject, body);
SmtpClient client = new SmtpClient(server, port);
// Credentials are necessary if the server requires the client
// to authenticate before it will send e-mail on the client's behalf.
client.Credentials = CredentialCache.DefaultNetworkCredentials;
try {
client.Send(message);
}
catch (Exception ex) {
Console.WriteLine("Exception caught in CreateTestMessage1(): {0}",
ex.ToString());
}
}