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 :

Envoi de pièce jointe par mail en Visual Basic


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2014
    Messages : 78
    Points : 57
    Points
    57
    Par défaut Envoi de pièce jointe par mail en Visual Basic
    Bonjour

    Je développe en ce moment même une appli en interne pour la société pour laquelle je travaille et je rencontre un problème j'aimerai pouvoir envoyer une pièce jointe en mail en Vb tous fonctionne sauf la partie pour la pièce jointe.

    Y'a-t-il une solution à mon problème ?


    Code VB.NET : 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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    Imports System.Net.Mail
     
    Public Class Form5
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            If tbdemandeur.Text = "" Or cbpriorite.Text = "" Or cbpanne.Text = "" Or tbdescription.Text = "" Or cbverif.Checked = False Then
                MsgBox("Vous devez remplire tous les champs")
     
                Exit Sub
     
            End If
     
            Dim Demandeur = tbdemandeur.Text
            Dim Priorite = cbpriorite.Text
            Dim Panne = cbpanne.Text
            Dim description = tbdescription.Text
            Dim parcourir = tbparcourir.Text
     
     
     
     
     
            Dim MyMailMessage As New MailMessage()
            Dim SMTPServer As New SmtpClient("smtp.gmail.com")
     
            MyMailMessage.From = New MailAddress("toto@gmail.com")
            MyMailMessage.To.Add("tot@gmail.com")
            MyMailMessage.Subject = ("Demande d'incident")
     
            MyMailMessage.Body = ("Demandeur : " & Demandeur & vbNewLine & "Priorite : " & Priorite & vbNewLine & "Panne : " & Panne & vbNewLine & "Description : " & description)
     
     
            SMTPServer.Port = ("587") 'Port
            SMTPServer.Credentials = New System.Net.NetworkCredential("toto@gmail.com", "toto")
            SMTPServer.EnableSsl = True
     
            SMTPServer.Send(MyMailMessage) 'Envoi
     
            If tbparcourir.Text <> "" Then
                Dim data = New Net.Mail.Attachment(tbparcourir.Text)
                MyMailMessage.Attachments.Add(data)
            End If
     
            Timer1.Start()
        End Sub
     
     
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
     
            Button1.Enabled = False
            ProgressBar1.Increment(1)
            If ProgressBar1.Value = ProgressBar1.Maximum Then
                Timer1.Stop()
                MsgBox("votre demande a bien été prise en compte")
                ProgressBar1.Value = ProgressBar1.Minimum
            End If
     
        End Sub
     
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            Form1.Show()
            Me.Hide()
     
        End Sub
     
        Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
            Dim dir As String = My.Computer.FileSystem.SpecialDirectories.Temp
            Dim filename As String = dir + "TeamViewerQS.exe"
            IO.File.WriteAllBytes(filename, My.Resources.TeamViewerQS)
            Process.Start(filename)
        End Sub
     
        Private Sub Label4_Click(sender As Object, e As EventArgs) Handles Label4.Click
     
        End Sub
     
        Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
            Dim item As String = String.Empty
            item = OpenFileDialog1.FileName
            OpenFileDialog1.ShowDialog()
            tbparcourir.Text = item
            tbparcourir.Text = OpenFileDialog1.FileName
     
     
        End Sub
     
        Private Sub tbparcourir_TextChanged(sender As Object, e As EventArgs) Handles tbparcourir.TextChanged
     
        End Sub
     
        Private Sub Form5_Load(sender As Object, e As EventArgs) Handles MyBase.Load
     
        End Sub
     
        Private Sub SaveFileDialog1_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
     
        End Sub
    End Class

  2. #2
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Où est le code qui est sensé gérer la pièce jointe ? Où est le message d'erreur ?

    Nous (je) ne ferons pas le travail à votre place. Nous (je) ne sommes là que pour vous aiguiller en cours de route.
    Kropernic

  3. #3
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2014
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    Bonjour, merci de ta réponse rapide.

    mon problème ce pose à l'ajout de la pièce jointe dans le mail.




    voici les parties de code censé gérer la pièce jointe


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
            Dim item As String = String.Empty
            item = OpenFileDialog1.FileName
            OpenFileDialog1.ShowDialog()
            tbparcourir.Text = item
            tbparcourir.Text = OpenFileDialog1.FileName
     
     
        End Sub

    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If tbparcourir.Text <> "" Then
                Dim data = New Net.Mail.Attachment(tbparcourir.Text)
                MyMailMessage.Attachments.Add(data)
            End If
    le reste des données remplissables ce trouve bien dans le corps du mail sauf la pièce jointe.

    cdt

  4. #4
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut
    Hello,

    Tout d'abord, sorry pour mon premier message qui était un peu agressif, suis un peu à cran aujourd'hui...

    Cela étant dit, reprenons sur ce de bonne base.

    J'avais effectivement raté le code qui s'occupe de la pièce jointe.

    L'erreur dans votre cas est évidente. Il ne s'agit pas d'une erreur de code mais bien de logique (d'où le fait que vous n'ayez probablement pas de message d'erreur).

    Relisez votre code en disant à voix haut ce que chaque instruction fait. Vous devriez trouver l'erreur assez vite .

    Sinon, je suis toujours là ^^
    Kropernic

  5. #5
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Septembre 2014
    Messages : 78
    Points : 57
    Points
    57
    Par défaut
    Il y'avait 2 erreurs à trouver ^^

    la 1ere était la

    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
     
     
            Dim MyMailMessage As New MailMessage()
            Dim SMTPServer As New SmtpClient("smtp.gmail.com")
     
            MyMailMessage.From = New MailAddress("toto@gmail.com")
            MyMailMessage.To.Add("tot@gmail.com")
            MyMailMessage.Subject = ("Demande d'incident")
     
            MyMailMessage.Body = ("Demandeur : " & Demandeur & vbNewLine & "Priorite : " & Priorite & vbNewLine & "Panne : " & Panne & vbNewLine & "Description : " & description)
     
     
            SMTPServer.Port = ("587") 'Port
            SMTPServer.Credentials = New System.Net.NetworkCredential("toto@gmail.com", "toto")
            SMTPServer.EnableSsl = True
     
            SMTPServer.Send(MyMailMessage) 'Envoi
     
            If tbparcourir.Text <> "" Then
                Dim data = New Net.Mail.Attachment(tbparcourir.Text)
                MyMailMessage.Attachments.Add(data)
            End If

    envoi avant la recupération de la pièce jointe


    et la modification de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If tbparcourir.Text <> "" Then
                Dim data = New Net.Mail.Attachment(tbparcourir.Text)
                MyMailMessage.Attachments.Add(data)
            End If

    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If tbparcourir.Text <> "" Then
                Dim data = New Net.Mail.Attachment(OpenFileDialog1.FileName)
                MyMailMessage.Attachments.Add(data)
            End If
    le problème et résolu merci encore de ta participation.

  6. #6
    Expert confirmé
    Avatar de Kropernic
    Homme Profil pro
    Analyste / Programmeur / DBA
    Inscrit en
    Juillet 2006
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Analyste / Programmeur / DBA
    Secteur : Distribution

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 932
    Points : 4 239
    Points
    4 239
    Par défaut


    Pour la 2e, je ne pouvais pas deviner que le contenu du TextBox n'était pas le bon (à moins que j'ai encore raté un bout de code) ^^.

    Content que ce soit résolu.
    Kropernic

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

Discussions similaires

  1. Envoi de pièce jointe par mail qui arrive vide
    Par abc.xyz dans le forum Langage
    Réponses: 9
    Dernier message: 02/07/2015, 15h24
  2. Upload + envoi de pièce jointe par mail
    Par cover70 dans le forum Langage
    Réponses: 3
    Dernier message: 07/12/2012, 14h54
  3. [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
  4. 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
  5. 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

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