Je vois différentes versions du constructeur, l'une utilise les informations de web.config, l'autre spécifie l'hôte, et l'autre l'hôte et le port. Mais comment définir le nom d'utilisateur et le mot de passe pour quelque chose de différent de web.config? Nous avons le problème où notre smtp interne est bloqué par certains clients de haute sécurité et nous voulons utiliser leur serveur smtp, y a-t-il un moyen de le faire à partir du code au lieu de web.config?Comment définir un nom d'utilisateur et un mot de passe pour l'objet SmtpClient dans .NET?
Dans ce cas, comment utiliser les informations d'identification web.config si aucune n'est disponible dans la base de données, par exemple?
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's behalf.
client.Credentials = CredentialCache.DefaultNetworkCredentials;
try {
client.Send(message);
}
catch (Exception ex) {
Console.WriteLine("Exception caught in CreateTestMessage1(): {0}",
ex.ToString());
}
}
si je ne mets pas un seul sera-il utiliser ceux de web.config par défaut? – BigOmega
Non, ce sera le DefaultNetworkCredentials si fourni ou rien. – pipelinecache
@pipelinecache Ryan a raison, si aucune information d'identification n'est fournie, il regardera dans web.config –
Tomas