Bonjour, je développe actuellement une application Silverlight qui doit permettre d'envoyer des mails avec des pièces jointes.
Voici le code côté serveur
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
 
[WebMethod]
        public bool EnvoyerMail(string source, List<string> destinataires, string objet, string message, List<string> fichiers)
        {
            string dossier = Path.Combine(Properties.Settings.Default.DossierRacine,"Mail");
 
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress(source);
            foreach (String destinataire in destinataires)
            {
                MailAddress adresse = new MailAddress(destinataire);
                if (!mail.To.Contains(adresse))
                    mail.To.Add(adresse);
            }
            mail.Subject = objet;
            mail.Body = message;
            mail.IsBodyHtml = true;
 
            foreach (String fichier in fichiers)
            {
                string chemin = Path.Combine(dossier + fichier);
                Attachment attachement = new Attachment(chemin);
                mail.Attachments.Add(attachement);
            }
 
            try
            {
                SmtpClient smtp = new SmtpClient();
                smtp.Send(mail);
                mail.Attachments.Dispose();
                mail.Attachments.Clear();
                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                return false;
            }
        }
Et l'appel côté client
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
mailer.EnvoyerMailAsync(Monmail.Source, Monmail.Destinataires, Monmail.Objet, Monmail.Message, Monmail.Fichiers);
Lorsque je n'ai pas de pièces jointes, aucun problème mais dès que j'en rajoute une ça plante!!!
J'ai une erreur System.ServiceModel.CommunicationException qui se déclenche dans la méthode EndEnvoyerMail de la référence à mon service (méthode du code de la référence généré automatiquement).

Je précise que ma référence de service est à jour et que les fichiers en pièce jointe sont uploadés sur le serveur. Les paramètres passés dans la méthode sont bons et le chemin des fichiers de pièces jointes est correct.

Merci de votre aide!