Bonjour à tous.
Sachez tout d'abord que j'utilise Visual Studio 2008 et que je travaille en C#.
Voilà, je vous explique mon problème.
J'essaie de faire un programme qui me permette d'envoyer des e-mails à des adresses.
J'ai trouvé des codes sources à droit à gauche, je les ai rassemblé, et ça fonctionne.
Le truc, c'est que maintenant, j'aimerais pouvoir faire que ça fonctionne avec plusieurs clients SMTP (hotmail, gmail, etc...).
J'ai donc ajouter une ComboBox dans mon application ! J'ai mit 2 items : 1 gmail, et 1 hotmail. Ensuite, j'ai fait un switch, dans le bouton "Envoyer", pour que ça sélectionne "@gmail.com" ou "@hotmail.com" celon ce que la personne a choisi dans la ComboBox.
Le problème est, que au début du code, un seul serveur peut-être déclaré :
public Form1()
{
InitializeComponent();
lblErreur.Text = "";
button1.Visible = false;
smtp = new SmtpClient("smtp.live.com");
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Port = 587;
smtp.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
}
Imaginons que j'en déclare un deuxième, un seul fonctionnerait.
J'ai donc eut idée de créer un switch :
public Form1()
{
InitializeComponent();
lblErreur.Text = "";
button1.Visible = false;
switch(cboAdresse.Text)
{
case "hotmail.com":
smtp = new SmtpClient("smtp.live.com");
break;
case "gmail.com":
smtp = new SmtpClient("smtp.gmail.com");
break;
}
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = true;
smtp.Port = 587;
smtp.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
}
Le problème, c'est qu'au lancement de l'application, cette ligne apparaît en jaune
smtp.UseDefaultCredentials = false;
Je reçois un message "d'attention" qui me dit : L'exception NullReferenceException n'a pas été gérée.
Voilà, je vous ai expliqué en gros mon problème. Si vous avez pas compris je recommençerai.
Pour faire clair, ma question est : comment déclarer plusieurs serveurs SMTP ?
Merci d'avance !