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 !