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 6 et antérieur Discussion :

Envoyer des pieces jointes avec winsock....


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Envoyer des pieces jointes avec winsock....
    Salut à tous, alors bon ca fait un moment que je galere!!!

    Comment fais t'on pour envoyer des pieces jointes avec winsock???
    J'arrive à envoyer du texte mais pas à joindre un fichier....

    D'apres ce que j'ai trouve, il faut l'encoder, donc ca je pense que j'ai reussi puisque j'arrive a me retrouver avec une sorte de texte qui commence par begin664 etc.....

    Mais apres j'en fais koi???

    voici la source que j'utilise pour envoyer le mail :

    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
    Private Sub Winsock2_Connect()
    ' La connection est etablie on envoie maintenant les données
        Dim X
        Dim Send(1 To 9) As String
        Dim datafile
     
    datafile = UUEncodeFile("C:\Program Files\SmartFTP\Favorites.dat")
    Text8.Text = datafile
        ' Les donnees a envoyer
        Send(1) = "HELO " & Text4.Text & vbCrLf
        Send(2) = "MAIL FROM:" & "<" & Text2.Text & ">" & vbCrLf
        Send(3) = "RCPT TO:" & "<" & Text3.Text & ">" & vbCrLf
        Send(4) = "DATA" & vbCrLf
        Send(5) = "from: " & Chr$(34) & Text1.Text & Chr$(34) & "<" & Text2.Text & ">" & vbCrLf
        Send(6) = "to: " & "<" & Text3.Text & ">" & vbCrLf
        Send(7) = "subject: " & Text5.Text & vbCrLf & vbCrLf
        Send(8) = Text6.Text & vbCrLf & "." & vbCrLf
        Send(9) = "QUIT"
        ' maintenant on les envoie en verifiant qu'il n'y a pas d'erreur
        On Error GoTo Erreur
        For X = 1 To 9
            Winsock2.SendData Send(X)
            DoEvents
        Next X
        Winsock2.Close
    Erreur:
     
    End Sub

    et voici celle de l'encodage :

    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
    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
    Private Function UUEncodeFile(strFilePath As String) As String
     
    Dim intFile As Integer 'file handler
    Dim intTempFile As Integer 'temp file
    Dim lFileSize As Long 'size of the file
    Dim strFilename As String 'name of the file
    Dim strFileData As String 'file data chunk
    Dim lEncodedLines As Long 'number of encoded lines
    Dim strTempLine As String 'temporary string
    Dim i As Long 'loop counter
    Dim j As Integer 'loop counter
     
    Dim strResult As String
    '
    'Get file name
    strFilename = Mid$(strFilePath, InStrRev(strFilePath, "\") + 1)
    '
    'Insert first marker: "begin 664 ..."
    strResult = "begin 664 " + strFilename + vbCrLf
    '
    'Get file size
    lFileSize = FileLen(strFilePath)
    lEncodedLines = lFileSize \ 45 + 1
    '
    'Prepare buffer to retrieve data from
    'the file by 45 symbols chunks
    strFileData = Space(45)
    '
    intFile = FreeFile
    '
    Open strFilePath For Binary As intFile
    For i = 1 To lEncodedLines
    'Read file data by 45-bytes cnunks
    '
    If i = lEncodedLines Then
    'Last line of encoded data often is not
    'equal to 45, therefore we need to change
    'size of the buffer
    strFileData = Space(lFileSize Mod 45)
    End If
    'Retrieve data chunk from file to the buffer
    Get intFile, , strFileData
    'Add first symbol to encoded string that informs
    'about quantity of symbols in encoded string.
    'More often "M" symbol is used.
    strTempLine = Chr(Len(strFileData) + 32)
    '
    If i = lEncodedLines And (Len(strFileData) Mod 3) Then
    'If the last line is processed and length of
    'source data is not a number divisible by 3, add one or two
    'blankspace symbols
    strFileData = strFileData + Space(3 - (Len(strFileData) Mod 3))
    End If
     
    For j = 1 To Len(strFileData) Step 3
    'Breake each 3 (8-bits) bytes to 4 (6-bits) bytes
    '
    '1 byte
    strTempLine = strTempLine + Chr(Asc(Mid(strFileData, j, 1)) \ 4 + 32)
    '2 byte
    strTempLine = strTempLine + Chr((Asc(Mid(strFileData, j, 1)) Mod 4) * 16 + Asc(Mid(strFileData, j + 1, 1)) \ 16 + 32)
    '3 byte
    strTempLine = strTempLine + Chr((Asc(Mid(strFileData, j + 1, 1)) Mod 16) * 4 + Asc(Mid(strFileData, j + 2, 1)) \ 64 + 32)
    '4 byte
    strTempLine = strTempLine + Chr(Asc(Mid(strFileData, j + 2, 1)) Mod 64 + 32)
    Next j
    'replace " " with "`"
    strTempLine = Replace(strTempLine, " ", "`")
    'add encoded line to result buffer
    strResult = strResult + strTempLine + vbCrLf
    'reset line buffer
    strTempLine = ""
    Next i
    Close intFile
     
    'add the end marker
    strResult = strResult & "`" & vbCrLf + "end" + vbCrLf
    'asign return value
    UUEncodeFile = strResult
     
    End Function
    Si quelqu'un peut m'aider!!!! merci...

    [Balises de code rajoutées par Tofalu. Merci d'y penser à

    l'avenir]

  2. #2
    Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ouinnnnn

    Pas de reponse.....

    Bon, sinon est ce que quelqu'un ici a deja envoye une peice jointe grace a winsock???

    Et si oui comment, comment elle a fait!!??

    :

  3. #3
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour,

    Pas de reponse.....
    Inutile de faire de Up. Aujourd'hui, c'est dimanche et je pense qu'un grand nombre de personnes ont d'autres loisirs que de te répondre.

    Bon, sinon est ce que quelqu'un ici a deja envoye une peice jointe grace a winsock???

    Et si oui comment, comment elle a fait!!??
    Je trouve ce ton plutôt autoritaire. Aussi, je pense qu'il serait bon de consulter ceci :

    Le guide de dvp

    As tu au moins cherché dans les tutoriels et la FAQ. Un tutoriel entier et consacré à winsock.

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    LOL, non y a rien d'autoritaire dans mon ton!! lol



    Sinon oui, j'ai regarde les tutos et chercher sur le forum.... Je débute completement en visual basic !!!

    C'est d'ailleurs en cherchant que j'ai trouve comment me servir des base de Winsock, mais la pour les pieces jointes et bien je seche.....

  5. #5
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Même ici tu n'as rien trouvé ?

    http://grafikm.developpez.com/vbreseau/

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ben disons que ce que j'ai trouve, j'arrive pas a le mettre en application!!

    Par exemple je sais qu'il faut encoder le fichier, donc ca j'y suis arrive, mais apres comment le joindre au courrier avec winsock?? tous ce que j'ai essaye a planter!!!

  7. #7
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Salut

    Le paradis de la prog reseau vb: vbip
    http://vbip.com/winsock/winsock_simple_sender_02.asp

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

Discussions similaires

  1. Envoi des pieces jointes avec Indy 10 / Delphi 6
    Par fveto dans le forum Composants VCL
    Réponses: 1
    Dernier message: 26/02/2013, 16h02
  2. Réponses: 2
    Dernier message: 27/05/2011, 08h59
  3. Envoyer un piece joint avec outlook
    Par olive8069 dans le forum C#
    Réponses: 1
    Dernier message: 22/12/2007, 01h19
  4. envoyer des pieces jointes
    Par anwerbell dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/05/2007, 13h52
  5. Réponses: 4
    Dernier message: 29/09/2005, 18h29

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