Bonjour,

Voici deux exemple de code en vb.net

1/Le code d'un formulaire d'envoi simple , san pièce jointe, et qui ne me pose aucune difficulté.(C'est-à-dire qui fonctionne bien)

2/le code du même formulaire qu'en 1/ , mais avec un fragment de code pour l'envoi d'une pièce jointe simultanée etpour lequel j'ai des difficultés

Code1
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
Imports System.Net.Mail
Protected Sub btnEnvoyer_Click(sender As Object, e As System.EventArgs) Handles btnEnvoyer.Click
        Me.Validate()
        If Me.IsValid Then
            Try
 
                Dim monMessage As New System.Net.Mail.MailMessage(monsite@free.fr", "contact@modomaine.fr")
                monMessage.Subject = "[Vos Remarques et infos ] Contact"
               monMessage.Body = "[Contact Transmis par le site Web]" _
                   & vbCr & lblObjet.Text & txtObjet.Text _
                       & vbCr & lblNom.Text & txtNom.Text.ToUpper _
                 & vbCr & lblPrenom.Text & txtPrenom.Text _
                  & vbCr & lblAge.Text & dplAge.Text _
                   & vbCr & lblCivilite.Text & dplCivilite.Text _
                    & vbCr & lblMail.Text & txtMail.Text _
                     & vbCr & lblTel.Text & txtTel.Text _
                     & vbCr & lblCP.Text & txtCP.Text _
                       & vbCr & lblVille.Text & txtVille.Text _
                       & vbCr & lblAdresse.Text & txtAdresse.Text _
                       & vbCr & lblCommentaire.Text & txtCommentaire.Text
                'Envoi du message
                Dim smtp As New SmtpClient
                Me.pnlConfirmation.Controls.Add(New LiteralControl(smtp.Host))
                smtp.Host = "localhost"
                smtp.Send(monMessage)
            Catch ex As Exception
                lblMessageErreur.Text = "La page a rencontré une erreur.Vos données n'ont pas été envoyées !"
            End Try
        End If
        Me.pnlMessage.Visible = False
 
        Me.pnlConfirmation.Visible = True
Code 2 avec essai de pièce jointe:

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
Imports System.Net.Mail
Protected Sub btnEnvoyer_Click(sender As Object, e As System.EventArgs) Handles btnEnvoyer.Click
        Me.Validate()
        If Me.IsValid Then
            Try
 
                Dim monMessage As New System.Net.Mail.MailMessage(monsite@free.fr", "contact@modomaine.fr")
                monMessage.Subject = "[Vos Remarques et infos ] Contact"
               monMessage.Body = "[Contact Transmis par le site Web]" _
                   & vbCr & lblObjet.Text & txtObjet.Text _
                       & vbCr & lblNom.Text & txtNom.Text.ToUpper _
                 & vbCr & lblPrenom.Text & txtPrenom.Text _
                  & vbCr & lblAge.Text & dplAge.Text _
                   & vbCr & lblCivilite.Text & dplCivilite.Text _
                    & vbCr & lblMail.Text & txtMail.Text _
                     & vbCr & lblTel.Text & txtTel.Text _
                     & vbCr & lblCP.Text & txtCP.Text _
                       & vbCr & lblVille.Text & txtVille.Text _
                       & vbCr & lblAdresse.Text & txtAdresse.Text _
                       & vbCr & lblCommentaire.Text & txtCommentaire.Text
 
‘ Code pièce jointe
 
'Déclaration d'une nouvelle instance du contrôle FileUpload
 
                Dim flp As New FileUpload
                'Ajouter le chemin du fichier à joindre dans le contrôle obtenu par le bouton parcourir
                Dim Origine As String = Me.MapPath("")
                Origine &= flp.FileName
                Dim msg As New System.Net.Mail.Attachment(Origine)
 
 
‘ici je suis bloqué et  ne sais plus quoi écrire
 
 
 
 
                'Envoi du message
                Dim smtp As New SmtpClient
                Me.pnlConfirmation.Controls.Add(New LiteralControl(smtp.Host))
                smtp.Host = "localhost"
                smtp.Send(monMessage)
            Catch ex As Exception
                lblMessageErreur.Text = "La page a rencontré une erreur.Vos données n'ont pas été envoyées !"
            End Try
        End If
        Me.pnlMessage.Visible = False
 
        Me.pnlConfirmation.Visible = True