IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Problème après l'envoi de pièce jointe par le programme [Débutant]


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chômage
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chômage

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Par défaut Problème après l'envoi de pièce jointe par le programme
    Bonjour à tous,

    Mon programme permet de s'envoyer une pièce jointe en cliquant sur un button et de supprimer ce même fichier en appuyant sur un autre button.
    Mon envoi de mail fonctionne très bien, le problème est qu'une fois le mail envoyé je ne peux plus supprimer le fichier.
    Alors que si je lance l'application et je clique en premier sur le button supprimer, le fichier se supprime correctement.

    J'ai remarqué que si j'envoyai la pièce jointe, même manuellement je ne peux pas supprimer le fichier car "le programme est utilisé dans LeProjet".

    Donc je ne sais pas s'il y a un problème dans mon code ou qu'il existe un moyen d'arrêter "d'utiliser" le fichier un fois qu'il est envoyé.

    Voici le code :

    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
     
     Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
     
            Try   
     
                Dim MyMailMessage As New MailMessage()
                Dim SMTP As New SmtpClient("smtp.gmail.com")
     
                MyMailMessage.From = New MailAddress("@gmail.com") 
                MyMailMessage.To.Add("@gmail.com") 
                MyMailMessage.Subject = (TextBox4.Text & " ; " & TextBox3.Text) 
                MyMailMessage.Body = ("arrivé à destination")
     
                SMTP.Port = ("587") 
                SMTP.Credentials = New System.Net.NetworkCredential("@gmail.com", "mdp") 
                SMTP.EnableSsl = True
     
     
                If TextBox2.Text <> "" Then
                    Dim data = New Net.Mail.Attachment(TextBox2.Text & "fichier.txt")
                    MyMailMessage.Attachments.Add(data)
                End If
     
                SMTP.Send(MyMailMessage)
     
     
            Catch ex As Exception
                MessageBox.Show("erreur envoi mail")
            End Try
     
        End Sub
     
     
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
     
            Try
     
                  If IO.File.Exists(TextBox2.Text & "fichier.txt") Then
                IO.File.Delete(TextBox2.Text & "fichier.txt")
                  End If
     
            Catch ex As Exception
                MessageBox.Show("erreur suppression")
            End Try
    C'est tout, en espèrent que vous puissiez m'aider,

    Merci à vous !

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par informatsya Voir le message
    Mon envoi de mail fonctionne très bien, le problème est qu'une fois le mail envoyé je ne peux plus supprimer le fichier.
    Alors que si je lance l'application et je clique en premier sur le button supprimer, le fichier se supprime correctement.
    Essayez d'utiliser le mot clé using pour instancier votre objet MailMessage.

    Ceci permettra de nettoyer proprement toutes ses ressources à la fin de l'envoi, y compris le handle sur le fichier qu'il a ouvert lors du chargement de la pièce jointe.

    https://docs.microsoft.com/en-us/dot...sing-statement

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chômage
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chômage

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Par défaut
    Merci de votre réponse si rapide,

    Je pense que c'est exactement ce qu'il me faut.
    J'ai consulté la documentation et j'ai essayé de l'intégrer dans mon code mais je n'y arrive pas.
    Using doit remplacer Dim ?

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Essayez de faire ceci :

    Code vbnet : 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
     
     Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
     
            Using MyMailMessage As New MailMessage(), SMTP As New SmtpClient("smtp.gmail.com")
     
            Try   
     
                MyMailMessage.From = New MailAddress("@gmail.com") 
                MyMailMessage.To.Add("@gmail.com") 
                MyMailMessage.Subject = (TextBox4.Text & " ; " & TextBox3.Text) 
                MyMailMessage.Body = ("arrivé à destination")
     
                SMTP.Port = ("587") 
                SMTP.Credentials = New System.Net.NetworkCredential("@gmail.com", "mdp") 
                SMTP.EnableSsl = True
     
     
                If TextBox2.Text <> "" Then
                    Dim data = New Net.Mail.Attachment(TextBox2.Text & "fichier.txt")
                    MyMailMessage.Attachments.Add(data)
                End If
     
                SMTP.Send(MyMailMessage)
     
     
            Catch ex As Exception
                MessageBox.Show("erreur envoi mail")
            End Try
     
            End Using
     
        End Sub

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Chômage
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chômage

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Par défaut
    J'ai cette erreur :

    Nom : erreur.jpg
Affichages : 100
Taille : 21,0 Ko

    Je ne sait pas comment implanter "System.IDisposable" j'ai essayé avec un "imports" mais ce n'est pas ca.

  6. #6
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Ok, modifie simplement la ligne en :
    Code vbnet : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Using MyMailMessage As New MailMessage()
    Dim  SMTP As New SmtpClient("smtp.gmail.com")

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Chômage
    Inscrit en
    Janvier 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chômage

    Informations forums :
    Inscription : Janvier 2021
    Messages : 4
    Par défaut
    Ah c'était juste ca !

    Eh bien merci beaucoup ca fonctionne parfaitement !

    Encore merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Envoi PDF + pièces jointes par mail
    Par renard700 dans le forum VBA Access
    Réponses: 5
    Dernier message: 17/06/2012, 20h25
  2. Envoie une pièce jointe par mail en RPGle
    Par Lisogane dans le forum AS/400
    Réponses: 2
    Dernier message: 03/03/2011, 17h57
  3. XBAP - Envoi de pièce jointe par mail
    Par YHDVP dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 22/10/2009, 16h56
  4. SMTP : Problème avec l'envoi de pièces jointes
    Par Sunsawe dans le forum Développement
    Réponses: 2
    Dernier message: 13/04/2007, 00h05
  5. problème avec l'envoi de pièces jointes
    Par mouna201 dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 11/01/2006, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo