Bonjour à tous,
Je suis débutant dans le monde .Net, et je viens de faire un petit programme en console, permettant d'envoyer des Mails par le biais d'smtp !
Mon programme fonctionne, mais disons que j'ai juste du "salir" un peu mon code, car sinon Visual Studio ne voulait pas le compiler ! trop de sécurité tue le code!
Je vous explique :
Je créer une variable AdrDest, de type STRING.
Cette variable sera passé en paramètre comme ceci :
MailAddress
AdressDest = newMailAddress(AdrDest);
Au début de mon programme je déclare ma varibale comme ceci :
String AdrDest;
Le problème est que le programme me sort une erreur de compilation me disant que ma variable AdrDest ne peux pas être vide si elle est utilisée avec MailAdress ! En gros il veux dire qu'une adresse mail ne peux pas être vide ! Ca tombe sous le sens biensur !
Le problème c'est qu'il me dit ca avant que j'ai éxécuté mon programme, et ca....c'est pas cool !
Pour palier à ce problème, j'ai initialisé ma variable AdrDest à
bidon@bidon.fr et tout passe.
Seulement c'est crade, je voudrais savoir si il n'y a pas un moyen en .Net de faire ca plus propre !
Merci les Amis !
je vous laise mon code si vous voulez zieuter !
[code]
using
System;using
System.Net.Mail;using
System.Collections.Generic;using
System.Linq;using
System.Text;namespace
ConsoleApplication1{
classProgram{
staticvoid Main(string[] args){
// Variablesstring Pseudo = "", AdrExp = "Bidon@Bidon.fr", AdrDest = "Bidon@Bidon.fr", CC = "Bidon@Bidon.fr", CCI = "Bidon@Bidon.fr", Sujet = "", Msg = "", Path = "FichierBidon";// Construction du messageSystem.
Console.ReadLine();// R,cup¦re les arguments pass,sint nBParam = 0;nBParam = args.Length;
int i = 0;if (nBParam > 0){
for (i = 0; i < nBParam-1; i++)// Parcour des arguments pass,s et stockage en variable{
switch (args [i]){
case"-P" :Pseudo=args[i + 1];
break;case"-E" :AdrExp = args[i + 1];
break;case"-D" :AdrDest = args[i + 1];
break;case"-C" :CC = args[i + 1];
break;case"-H" :CCI = args[i + 1];
break;case"-S" :Sujet = args[i + 1];
break;case"-M":Msg = args[i + 1];
break;case"-F":Path = args[i + 1];
break;}
}
}
if (nBParam < 3){
System.
Console.WriteLine("Vous devez passer en minimum les parametres : -E, ,-D ,-M ");System.
Console.WriteLine("");System.
Console.WriteLine("Rappel des parametres :");System.
Console.WriteLine("");System.
Console.WriteLine("-P Pseudo de l'expediteur");System.
Console.WriteLine("-E Email de l'expediteur ");System.
Console.WriteLine("-D Email de mon destinataire");System.
Console.WriteLine("-C Email de mon destinataire en copie");System.
Console.WriteLine("-H Email de mon destinataire en copie cachee");System.
Console.WriteLine("-S Mon sujet !! ");System.
Console.WriteLine("-M Mon message !!");System.
Console.WriteLine("-F Chemin d'acces vers fichier a joindre");System.
Console.ReadLine();}
else{
MailMessage mail = newMailMessage();MailAddress AdressCopy = newMailAddress(CC);MailAddress AdressCopyHiding = newMailAddress(CCI);MailAddress AdressDest = newMailAddress(AdrDest);MailAddress AdressExp = newMailAddress(AdrExp,Pseudo);Attachment Data = newAttachment(Path);mail.From = AdressExp;
mail.To.Add(AdressDest);
if (CC != "Bidon@Bidon.fr"){
mail.CC.Add(AdressCopy);
}
if (CCI != "Bidon@Bidon.fr"){
mail.Bcc.Add(AdressCopyHiding);
}
if (Path != "FichierBidon"){
mail.Attachments.Add(Data);
}
mail.Subject = Sujet;
mail.Body = Msg;
mail.SubjectEncoding =
Encoding.GetEncoding("iso-8859-1");mail.BodyEncoding =
Encoding.GetEncoding("iso-8859-1");
SmtpClient smtp = newSmtpClient();smtp.Host =
"smtp.xxxxxxxx.com";smtp.Port = 25;
// default.smtp.Credentials =
new System.Net.NetworkCredential("", "");try{
smtp.Send(mail);
mail.Dispose();
}
catch (Exception ex){
System.
Console.WriteLine(ex);}
}
}
}
}
[/code]
Merci à tous les amis ! Bonne après midi !
Nixeus'