Salut tous le monde, y a t'il un Tutorial qui explique comment utiliser le message Hello pour tester si une adresse email existe (valide ou réel) en utilisant les composants de Indy, parce que je ne sais pas vraiment par quoi je commence. merci.
Salut tous le monde, y a t'il un Tutorial qui explique comment utiliser le message Hello pour tester si une adresse email existe (valide ou réel) en utilisant les composants de Indy, parce que je ne sais pas vraiment par quoi je commence. merci.
Voici des pistes :
1) regarder la réference des commandes SMTP.
2) utiliser TIdSMTP et ses méthodes SendCmd
3) au total, envoyer HELO (ou utiliser Connect) puis MAIL FROM ton adresse, puis RCPT TO adresse à tester : adresse OK si on reçoit 250 OK ; finalement, envoyer RSET et enfin QUIT
voir aussi https://stackoverflow.com/questions/...ing-delphi-xe5.
[EDIT : correction des commandes SMTP au 3)]
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
Juste pour confirmer est ce que c'est bien le résultat du message Hello qui nous montre si une adresse email quelconque existe ou non ?
Non : en cas de succès, on est sûr qu'il accepte le destinataire, et donc qu'il est valide. Mais il peut être valide et rejeté pour cause de quota dépassé ou autre raison.
[EDIT : j'ai retiré une affirmation dont je ne suis pas sûr, et finalement pê vaut-il mieux utiliser le code du second lien (Verify)]
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
J'ai trouvé cet exemple sur internet je l'ai pris pour commencer mon mailer, j'ai utilisé un SMTP qui utilise TLS alors j'ai ajouter cette instruction
mais quand je tente d'envoyer l'email un email l'application reste figé sans envoyer l'email
Code : Sélectionner tout - Visualiser dans une fenêtre à part IdSMTP1.SendCmd('STARTTLS', 220);
Sans oublier que j'ai entrer les informations de mon serveur SMTP.
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 unit Unit1; //Programme par Yoann //http://delphipage.free.fr/ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, IdMessage, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP; type TForm1 = class(TForm) GroupBox1: TGroupBox; GroupBox2: TGroupBox; GroupBox3: TGroupBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; IdSMTP1: TIdSMTP; IdMessage1: TIdMessage; OpenDialog1: TOpenDialog; procedure Button3Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Déclarations privées } public { Déclarations publiques } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button3Click(Sender: TObject); begin Close; //Ferme le programme end; procedure TForm1.Button1Click(Sender: TObject); begin if OpenDialog1.Execute then Edit3.Text:=OpenDialog1.FileName; //Edit affiche le fichier choisit end; procedure TForm1.Button2Click(Sender: TObject); begin Screen.Cursor:=crHourGlass; //Curseur sablier IdMessage1.Clear; //Efface l'entête et le corps du message IdMessage1.From.Text :=Edit1.Text; //Adresse email de l'expediteur IdMessage1.ReplyTo.EMailAddresses:=Edit1.Text; //Adresse email où le destinataire pourra répondre IdMessage1.Recipients.EMailAddresses:=Edit2.Text; //Adresse email du destinataire IdMessage1.Date:=Date; //Date de l'envoi du message IdMessage1.Subject:=Edit4.Text; //Sujet du message IdMessage1.Priority:=mpNormal; //Priorité du message if not (Edit3.Text='') then TIdAttachment.Create(IdMessage1.MessageParts,Edit3.Text); //Attache le fichier IdMessage1.Body.Assign(Memo1.Lines); //Corps du message //Connexion au serveur smtp IdSMTP1.AuthenticationType:=atLogin; //Type d'authentification IdSMTP1.Host:=''; //Hôte (par exemple pour Free : smtp.free.fr) IdSMTP1.Port:=587; //Port (par exemple pour Free : 25) IdSMTP1.UserName:=''; //Nom d'utilisateur IdSMTP1.Password:=''; //Mot de passe IdSMTP1.Connect; //Connexion IdSMTP1.SendCmd('STARTTLS', 220); try IdSMTP1.Send(IdMessage1); //Envoi du message finally IdSMTP1.Disconnect; //Déconnexion end; Screen.Cursor:=crDefault; //Curseur par défaut end; end.
Salut tous le monde y'a t'il une personne qui peut me répondre sur ma question !!!
Le code change sûrement selon la version des composants Indy : laquelle utilises-tu ?
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
Sous Berlin 10.1 avec Indy10, le code suivant m'a permis d'envoyer un message :
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 procedure TForm1.Button1Click(Sender: TObject); begin with IdMessage1 do begin From.Text := MyAddress; ReplyTo.EMailAddresses := MyAddress; Recipients.EMailAddresses := DestAddress; Priority := mpNormal; Date := Now; Subject := 'test'; Body.Text := 'coucou !'; end; with IdSMTP1 do begin Host := SMTPHost; Port := SMTPPort; UserName := SMTPUserName; Password := SMTPPassword; AuthType := satDefault; Connect; Send(IdMessage1); Disconnect; end; end;
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
Pour TLS, en mettant Default comme option de type d'identification, je pense que le IdSMTP utilise l'information TLS qu'il reçoit du serveur, et que tu n'as pas besoin de lui spécifier. Mon envoi a réussi sur le port 587 d'orange.
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
Moi j'utilise delphi version 7.0 et quand et j'ai ce message d'erreur:
Comment le résoudre
On cherchant sur le forum j'ai trouver cette discussion j'ai compris qu'il faut utiliser les DLLs de OpenSSL après que je les ai utiliser j'ai eu ce message d'erreur
Comment y remédier à ce problème sachant que le serveur SMTP que j'utilise est bien fonctionnel !
y a t'il une personne qui peut m'aider à corriger cette erreur !!!
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Moi si puisque vous indiquiez que vous aviez réussi
non, mais l'adresse de téléchargement (qu'une simple recherche google avec openssl+indy+download permet de trouver)et pour les DLL peux tu me donner ceux de la version 32 Bit
https://indy.fulgan.com/SSL/
après cela dépend de votre version Indy, d'où le vaste choix (sans parler qu'il y en a d'autres dans le répertoire archives !)
MVP Embarcadero
Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
SGBD : Firebird 2.5, 3, SQLite
générateurs États : FastReport, Rave, QuickReport
OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager