Я вижу разные версии конструктора, один использует информацию из web.config, один указывает хост, а другой - хост и порт. Но как установить имя пользователя и пароль для чего-то другого, отличного от web.config? У нас есть проблема, когда наш внутренний smtp заблокирован некоторыми высокозащищенными клиентами, и мы хотим использовать их smtp-сервер, есть ли способ сделать это из кода вместо web.config?
В этом случае, как я могу использовать учетные данные web.config, если они не доступны из базы данных, например?
public static void CreateTestMessage1(string server, int port)
{
    string to = "[email protected]";
    string from = "[email protected]";
    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 behalf.
    client.Credentials = CredentialCache.DefaultNetworkCredentials;
    try {
        client.Send(message);
    }
    catch (Exception ex) {
        Console.WriteLine("Exception caught in CreateTestMessage1(): {0}", 
                    ex.ToString());
    }              
}
