Bonjour tout le monde,
Je suis entrain de réaliser une application permettant de copier et donc d'enregistrer un mail dans un dossier.
Cela fonctionne sauf que j'obtiens un problème lorsque le sujet du mail contient soit * ou soit : et d'autre caractère certainement.
Voici mon bout de code :
J'ai essayer en mettant "sujet.replace(":", "")", ça fonctionne mais je trouve ça pas beau du tout.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 try { if (textBox1.Text != "") { //NameValueCollection section = (NameValueCollection)ConfigurationManager.GetSection("MonGroupe/MaSectionUne"); string chemin = Properties.Settings.Default.chemin; string dossier_mail = Properties.Settings.Default.dossier_mail; string extension = Properties.Settings.Default.extension; string numcc = "CC" + textBox1.Text.PadLeft(8, '0'); string sujet = textBox2.Text; Outlook.Application app = new Outlook.Application(); object temp = app.ActiveExplorer().Selection[1]; Outlook.MailItem item = (temp as Outlook.MailItem); // Récupération de la date du jour. int date1 = DateTime.Now.Year; int date2 = DateTime.Now.Month; int date3 = DateTime.Now.Day; int date4 = DateTime.Now.Hour; int date5 = DateTime.Now.Minute; int date6 = DateTime.Now.Second; // Création de la variable "date_jour" permettant de le mettre au dos de chaque titre de mail. string date_jour = '_'+date1.ToString() + date2.ToString().PadLeft(2, '0') + date3.ToString().PadLeft(2, '0') + date4.ToString().PadLeft(2, '0') + date5.ToString().PadLeft(2, '0') + date6.ToString().PadLeft(2, '0'); if (System.IO.Directory.Exists(@chemin + numcc + @dossier_mail) == false) { System.IO.Directory.CreateDirectory(@chemin + numcc + @dossier_mail); } item.SaveAs(@chemin + numcc + @dossier_mail + sujet + date_jour + extension, Outlook.OlSaveAsType.olMSG); if (System.IO.File.Exists(@chemin + numcc + @dossier_mail + sujet + date_jour + extension)) { this.Width = 157; this.Height = 108; textBox1.Text = ""; MessageBox.Show("L'enregistrement à été effectuée."); } else { MessageBox.Show("Une erreur est survenue."); } } else { MessageBox.Show("Le numéro de commande doit être saisi."); } } catch (Exception ex) { MessageBox.Show(ex.Message); }
Y a t-il une autre possibilité pour encoder les caractère spéciaux en C# ?
Merci par avance pour votre aide.
Partager