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

 Delphi Discussion :

Tester si une adresse email existe ou non par l'utilisation du message Hello par Indy


Sujet :

Delphi

  1. #1
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut Tester si une adresse email existe ou non par l'utilisation du message Hello par Indy
    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.

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 300
    Points
    11 300
    Billets dans le blog
    6
    Par défaut
    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 !

  3. #3
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    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 ?

  4. #4
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 300
    Points
    11 300
    Billets dans le blog
    6
    Par défaut
    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 !

  5. #5
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par tourlourou Voir le message
    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)]
    Merci tourlourou dès que je finis ce mini projet je vais poster le code pour l'étudier et je vais marquer la discussion comme résolu quand tous sera fini.

  6. #6
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IdSMTP1.SendCmd('STARTTLS', 220);
    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
    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.
    Sans oublier que j'ai entrer les informations de mon serveur SMTP.

  7. #7
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Salut tous le monde y'a t'il une personne qui peut me répondre sur ma question !!!

  8. #8
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 300
    Points
    11 300
    Billets dans le blog
    6
    Par défaut
    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 !

  9. #9
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 300
    Points
    11 300
    Billets dans le blog
    6
    Par défaut
    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 !

  10. #10
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 300
    Points
    11 300
    Billets dans le blog
    6
    Par défaut
    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 !

  11. #11
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Moi j'utilise delphi version 7.0 et quand et j'ai ce message d'erreur:
    Nom : Capture.PNG
Affichages : 621
Taille : 11,3 Ko

    Comment le résoudre

  12. #12
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    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
    Nom : Capture.PNG
Affichages : 407
Taille : 12,2 Ko

    Comment y remédier à ce problème sachant que le serveur SMTP que j'utilise est bien fonctionnel !

  13. #13
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    y a t'il une personne qui peut m'aider à corriger cette erreur !!!

  14. #14
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Bonjour
    Citation Envoyé par bm1990 Voir le message
    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
    Étrange de citer cette discussion ou vous indiquez vous même
    Citation Envoyé par bm1990
    Moi aussi j'ai eu ce problème mais j'ai réussi à le résoudre on utilisant ces fichiers DLL
    AMHA il y a un joyeux mélange de DLL un peu partout, voir même de versions de INdy ! je vous rappelle que puisque votre programme est fait avec D7 il vaudrait mieux utiliser des dll 32 bits
    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

  15. #15
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour

    Étrange de citer cette discussion ou vous indiquez vous même
    Je ne trouve rien d'étrange !!! et pour les DLL peux tu me donner ceux de la version 32 Bit

  16. #16
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 045
    Points : 40 963
    Points
    40 963
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par bm1990 Voir le message
    Je ne trouve rien d'étrange !!!
    Moi si puisque vous indiquiez que vous aviez réussi
    et pour les DLL peux tu me donner ceux de la version 32 Bit
    non, mais l'adresse de téléchargement (qu'une simple recherche google avec openssl+indy+download permet de trouver)
    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

  17. #17
    Membre du Club
    Homme Profil pro
    Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Inscrit en
    Juin 2011
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Tutulaire d'un Master Academique en Réseaux et Systèmes repartis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 227
    Points : 51
    Points
    51
    Par défaut
    Citation Envoyé par bm1990 Voir le message
    Moi j'utilise delphi version 7.0 et quand et j'ai ce message d'erreur:
    Nom : Capture.PNG
Affichages : 621
Taille : 11,3 Ko

    Comment le résoudre
    J'ai réussi à dépasser cette erreur mais pas la dernière !!! malgré que j'ai mis les bons fichiers DLL

Discussions similaires

  1. Expression régulière pour tester une adresse email
    Par Pascale38 dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/02/2014, 13h56
  2. Réponses: 0
    Dernier message: 13/05/2008, 10h23
  3. Réponses: 1
    Dernier message: 12/04/2007, 10h41
  4. [VB.net] Verifier l'existence d'une adresse email
    Par NicoNGRI dans le forum ASP.NET
    Réponses: 1
    Dernier message: 25/10/2006, 11h08
  5. Réponses: 4
    Dernier message: 27/09/2006, 16h47

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