Bonjour à tous
J’ai un petit problème pour l’envoi de mail via les composants INDY.
J’ai adapté cela à partir de https://mikejustin.wordpress.com/201...-applications/
Le paramétrage du mail est ainsi :
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
84
85
86
87
88
89
90
91
92
93
94 FUNCTION TSSLEmail.SendEmail: Boolean; VAR i: Integer; BEGIN Result := True; IdMessage := TIdMessage.Create; TRY InitMailMessage; SMTP := TIdSMTP.Create; TRY IF edSSLConnection THEN BEGIN AddSSLHandler; CASE edSMTPPort OF SMTP_PORT_EXPLICIT_TLS: SMTP.UseTLS := utUseExplicitTLS; SMTP_PORT_STANDARD: SMTP.UseTLS := utNoTLSSupport; ELSE SMTP.UseTLS := utUseImplicitTLS; END; END; IF (edUserName <> '') AND (edPassword <> '') THEN BEGIN SMTP.AuthType := satSASL; InitSASL; END ELSE BEGIN SMTP.AuthType := satNone; SMTP.AuthType := satDefault; END; SMTP.Host := edSMTPServer; SMTP.Port := edSMTPPort; SMTP.ConnectTimeout := 30000; SMTP.UseEHLO := True; IF (FedAttache <> NIL) AND (FedAttache.Count > 0) THEN BEGIN // il y a des fichier attache TRY IdMessage.ContentType := 'multipart/mixed'; FOR i := 0 TO FedAttache.Count - 1 DO BEGIN IF (Trim(FedAttache.Strings[i]) <> '') AND (FileExists(Trim(FedAttache.Strings[i]))) THEN BEGIN TIdAttachmentFile.Create(IdMessage.MessageParts, Trim(FedAttache.Strings[i])); // Attache le fichier END; // Fin de IF END; EXCEPT Result := False; RAISE; END; // fin de TRY / FINALLY END ELSE BEGIN // il n'ya pas de fichier attache END; // Fin de IF TRY TRY SMTP.Connect; TRY SMTP.Send(IdMessage); EXCEPT ON E: Exception DO BEGIN Result := False; RAISE; END; END; // Fin de EXCEPT EXCEPT on E: Exception do Begin Result := False; RAISE; End; END; // Fin de EXCEPT FINALLY IF SMTP.Connected THEN SMTP.Disconnect; END; FINALLY SMTP.Free; END; FINALLY IdMessage.Free; END; END;
Login : xxxxx@hotmail.fr
Mot de passe : correct
Smtp : smtp.live.com
Port : 587
De ma machine de développement, pas de problème, cela fonctionne
Mais, si je le fais d’une machine « client », là plus rien ne va . Ça m’indique : "SSL n'est pas disponible sur ce serveur". J’ai trouvé qu’il fallait ajouter des DLLs dans le répertoire de l’application (libeay32.dll et ssleay32.dll). Mais ces fichiers, je ne les ai pas trouvés pas dans ma machine de développement.
Où sont-ils ?
Donc, j’ai ajouté ces fichiers sur la machine client. La situation est alors différente. Ça plante mais le message d’erreur est "La connexion s'est fermée proprement", ce qui est bizarre comme message d’erreur ???? Néanmoins, le courriel, lui, n’est jamais reçu….
Que ce passe-t-il ? et surtout comment le corriger ?
Merci d’avance
Partager