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 :

[VB6] Envoi de mails via Telnet


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Par défaut [VB6] Envoi de mails via Telnet
    Bonjour à tous,
    J'essaie d'envoyer des mails par telnet. Mais mon problème est que plus je mets de destinataires et plus certains mails ne partent pas. Par exemple si je mets deux adresses destinataires, les deux reçoivent les deux mails, alors que si j'en mets cinq, elles ne reçoivent pas le second mail, et parfois des adresses ne reçoivent pas le premier. Voilà mon 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
    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
    Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    ''''''''''''''''''''''''''''''''''''''''''''''''
    ''''''                                    ''''''
    ''''''            Envoi du mail           ''''''
    ''''''                                    ''''''
    ''''''''''''''''''''''''''''''''''''''''''''''''
     
        Dim strdata As String
        tableMail = Split(email)
        Winsock1.GetData strdata, vbString
        Dim j As Integer
     
        If Left$(strdata, 1) <> 5 Then
     
            Select Case i
     
            Case 1
                Call Winsock1.SendData("HELO axians" & vbCrLf)
                Debug.Print "HELO axians" & vbCrLf
                i = i + 1
                If mail1 = "" Then i = 6
     
            Case 2
                Call Winsock1.SendData("MAIL FROM:" & compte & vbCrLf)
                Debug.Print "MAIL FROM:" & compte & vbCrLf
                i = i + 1
     
            Case 3
                For j = 0 To UBound(tableMail) - LBound(tableMail)
                    Call Winsock1.SendData("RCPT TO:" & tableMail(j) & vbCrLf)
                    Debug.Print "RCPT TO:" & tableMail(j) & vbCrLf
                Next
                j = 0
                i = i + 1
     
            Case 4
                Call Winsock1.SendData("DATA" & vbCrLf)
                Debug.Print "DATA" & vbCrLf
                i = i + 1
     
            Case 5
                Call Winsock1.SendData("subject: " & sujet_email1 & vbCrLf & vbCrLf & mail1 & vbCrLf & "." & vbCrLf)
                Debug.Print "subject: " & sujet_email1 & vbCrLf & vbCrLf & mail1 & vbCrLf & "." & vbCrLf
                i = i + 1
     
            Case 6
                Call Winsock1.SendData("MAIL FROM:" & compte & vbCrLf)
                Debug.Print "MAIL FROM:" & compte & vbCrLf
                i = i + 1
                If mail2 = "" Then i = 10
     
            Case 7
                For j = 0 To UBound(tableMail) - LBound(tableMail)
                    Call Winsock1.SendData("RCPT TO:" & tableMail(j) & vbCrLf)
                    Debug.Print "RCPT TO:" & tableMail(j) & vbCrLf
                Next
                i = i + 1
     
            Case 8
                Call Winsock1.SendData("DATA" & vbCrLf)
                Debug.Print "DATA" & vbCrLf
                i = i + 1
     
            Case 9
                Call Winsock1.SendData("subject: " & sujet_email2 & vbCrLf & vbCrLf & mail2 & vbCrLf & "." & vbCrLf)
                Debug.Print "subject: " & sujet_email2 & vbCrLf & vbCrLf & mail2 & vbCrLf & "." & vbCrLf
                i = i + 1
     
            Case Else
                Call Winsock1.SendData("QUIT" & vbCrLf)
                Debug.Print "QUIT" & vbCrLf
                i = i + 1
                SMTP.close_smtp
     
            Unload Me
            End Select
        Else
            Call Winsock1.SendData("QUIT" & vbCrLf)
            Debug.Print "QUIT" & vbCrLf
            SMTP.close_smtp
        End If
     
    End Sub
    Les adresses qui ne reçoivent pas, c'est aléatoire. Ca change à chaque exécution du programme. Quelqu'un aurait une solution ? Merci !

  2. #2
    Membre émérite Avatar de DAUDET78
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2008
    Messages
    635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 635
    Par défaut
    Je ne suis pas un spécialiste, mais ton programme me choque .....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     If Left$(strdata, 1) <> 5 Then
    Tu compares un string à un entier ?????
    L'entier i, c'est quoi ?

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Par défaut
    Erf, le if n'est pas vraiment important. J'ai récupéré une partie du code sur un truc de mon maître de stage, j'ai pas forcément pensé à vérifier. Je vais le virer pour voir si ça change.

    Pour ce qui est du i, c'est un global qui est égal à 1 au début. Le problème ne vient pas de là, puisque certains mails partent mais pas tous.

    J'ai oublié de préciser, je me connecte sur le SMTP de la boîte via Telnet.


    Et virer le IF n'enlève pas mon problème.

Discussions similaires

  1. [Batch] SOS:envoie Mail via telnet
    Par marwen109 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 10/04/2011, 18h01
  2. Envoi mail via telnet
    Par Bourriquette dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 14/03/2007, 10h03
  3. Envoi de mail via Outlook
    Par Chromatic dans le forum Access
    Réponses: 8
    Dernier message: 14/02/2006, 11h30
  4. Envoi de mail via un macro vba sur excel
    Par momolamoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/12/2005, 18h51
  5. envoi de mail via Oracle
    Par c_moi_c_moi dans le forum Oracle
    Réponses: 26
    Dernier message: 07/11/2005, 10h20

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