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

Langage Delphi Discussion :

Delphi 2010 et Gmail


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut Delphi 2010 et Gmail
    Bonjour

    Je voudrais envoyer des mails à partir de mon application, pour cela j'ai utilisé les composants Indy. Le code est assez simple et très classique je me suis inspiré de la FAQ Delphi mais je ne parviens toujours pas à envoyer de mails. Quand je clique sur le bouton envoyer, l'application prend un moment (un peu plus de 1 mn) puis me fait sortir le message "connection closed gracefully".

    • La 1ère question est tout naturellement pourquoi ai-je cette erreur ? Je me suis documenté mais toute les modifications que j'ai faite ont aboutit au même message.
    • ma 2ème question concerne le temps de réponse qui me parait excessivement long !



    Voici le 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
    procedure Tfm_ActivexMEDIC.RzDialogButtons1ClickOk(Sender: TObject);
    var
      IdMessage: TIdMessage;
      IdSMTP: TIdSMTP;
      IMessage: TStrings;
      SSLHandler: TIdSSLIOHandlerSocketOpenSSL;
    begin
     
      IdMessage := TIdMessage.Create(nil); //création dynamique du composant
     
      IdMessage.From.Address := 'monmail@gmail.com';
     
     
      IdMessage.Subject := 'Test';
     
      IdMessage.ContentType := 'multipart/alternative'; //Message 'découpé' en plusieurs parties
     
      IMessage := TStringList.Create;
      IMessage.Add('Bonjour comment vous allez ?'); //par exemple... il faut juste que ce soit un TStrings !
     
      //On passe ensuite à l'envoi du message:
      IdSMTP := TIdSMTP.Create(nil) ; //Création dynamique du composant
      SSLHandler:= TIdSSLIOHandlerSocketOpenSSL.Create(fm_ActivexMEDIC);
      IdSMTP.IOHandler:= SSLHandler;
      IdSMTP.Port := 465; //Le port SMTP standard... ou le 587
      IdSMTP.Host := 'smtp.gmail.com';  //Le serveur auquel se connecter
      IdSMTP.UseTLS:= utUseExplicitTLS;
     
      //Ensuite on se connecte et on envoit le message, en gérant les erreurs, tant qu'à faire !
      try
        try
          IdSMTP.Connect;
          IdSMTP.Send(IdMessage);
        except
          on e : EIdConnClosedGracefully do
          begin
              ShowMessage(e.Message);
          end;
        end;
      finally
        IdSMTP.Disconnect;
        IdSMTP.Free;
        IdMessage.Free;
      end;
    end;
    Toute idée est la bienvenue.
    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 599
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    ce n'est pas vraiment un problème de version de Delphi, mais plutôt lié à Gmail, ce qui répond déjà en partie à la première question.
    Pour le deuxième, c'est le délai (timeout modifiable) du à l'erreur, avec d'autres fournisseurs c'est quasi instantané.

    pour en revenir au problème GMail c'est parce que les paramètres utilisés ne sont pas bons . (port 587)

    voici un truc de Marco Cantu

  3. #3
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Bonjour,

    ce n'est pas vraiment un problème de version de Delphi, mais plutôt lié à Gmail, ce qui répond déjà en partie à la première question.
    Pour le deuxième, c'est le délai (timeout modifiable) du à l'erreur, avec d'autres fournisseurs c'est quasi instantané.

    pour en revenir au problème GMail c'est parce que les paramètres utilisés ne sont pas bons . (port 587)

    voici un truc de Marco Cantu
    J'ai essayé avec le port 25 et 465 mais j'y arrive pas j'ai toujours le même message.
    Pour le truc de Macro Cantu il est semblable au code que j'ai posté, d'ailleurs tout les codes sont presque identiques d'où ma question : Est-ce que quelqu'un a réussi à utiliser Gmail avec ou sans Indy ?

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 599
    Billets dans le blog
    65
    Par défaut
    OUI mais il utilise/recommande le 587

  5. #5
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    OUI mais il utilise/recommande le 587
    Même avec le 587 .... d'ailleurs j'avais fait le 1er test avec le port 587 !!!!

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 599
    Billets dans le blog
    65
    Par défaut
    il me semblait bien me souvenir d'un post avec un problème quasi identique, je ne suis pas encore atteint par Alzheimer voir ici

  7. #7
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Re

    Merci edam et Serge mais quelque chose m'échappe toujours .... pour ne pas se perdre, est-ce que quelqu'un peut essayer ça chez lui et me dire s'il reçoit une message d'erreur ou pas ?

    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
    procedure Tfm_ActivexMEDIC.btn1Click(Sender: TObject);
    var
      IdSMTP1 : TIdSMTP;
      SSLHandler: TIdSSLIOHandlerSocketOpenSSL;
      IdMessage1 : TIdMessage;
    begin
      IdSMTP1 := TIdSMTP.Create(nil);
    try
      SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(IdSMTP1);
      SSLHandler.SSLOptions.Method := sslvTLSv1;
      SSLHandler.SSLOptions.Mode   := sslmUnassigned;
      SSLHandler.PassThrough       := False;
     
      IdMessage1 := TIdMessage.Create(IdSMTP1);
      IdMessage1.From.Address := '***@gmail.com';
      IdMessage1.Recipients.EMailAddresses := '***@gmail.com';
      IdMessage1.Subject      := '';
      IdMessage1.Body.Text    := '';
     
      IdSMTP1.Host      := 'smtp.gmail.com';
      IdSMTP1.Port      := 465;
      IdSMTP1.Username  := '****@gmail.com';
      IdSMTP1.Password  := '***';
      IdSMTP1.IOHandler := SSLHandler;
     
      IdSMTP1.Connect;
      try
        IdSMTP1.Send(IdMessage1);
      finally
        IdSMTP1.Disconnect;
      end;
    finally
      IdSMTP1.Free;
    end;
    end;

  8. #8
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Bon voici le dernier code avec quelques modifications et une inspiration du code fourni par Serge

    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
    procedure Tfm_ActivexMEDIC.btn1Click(Sender: TObject);
    var
      idSmtp : TidSmtp;
      IdMessage1 : TIdMessage;
      msg : string;
      useTLS : Boolean;
      SSLHandler: TIdSSLIOHandlerSocketOpenSSL;
      begin
        useTLS := chk1.Checked;
        Screen.Cursor:=crHourGlass;
        idSmtp := TIdSMTP.Create(nil);
        idSmtp.Host:='smtp.gmail.com';
        idSmtp.Username:='moi@gmail.com';
        idSmtp.Password:='MonMDP';
        idsmtp.Port := StrToInt(cbb1.Text);
     
        SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(IdSMTP);
        SSLHandler.SSLOptions.Method := sslvTLSv1;
        SSLHandler.SSLOptions.Mode := sslmUnassigned;
        SSLHandler.PassThrough := False;
     
        if useTLS then
        begin
          idSMTP.IOHandler := SSLHandler;
          idSMTP.UseTLS := utUseImplicitTLS; // 1
        end
        else begin
          idSMTP.UseTLS:=utNoTLSSupport; // 0
        end;
     
        //// Envoi Smtp
        IdMessage1 := TIdMessage.Create(IdSMTP);
        IdMessage1.Clear; //Efface l'entête et le corps du message
        IdMessage1.From.Text :='moi@gmail.com'; //Adresse email de l'expéditeur
        IdMessage1.ReplyTo.EMailAddresses:= 'moi@gmail.com'; //Adresse email où le destinataire pourra répondre
        IdMessage1.Recipients.EMailAddresses:='moi@gmail.com'; //Adresse email du destinataire
        idMessage1.ContentType := 'multipart/mixed';
     
        try
          idSMTP.Connect;
          idSMTP.Send(idMessage1);
          idSMTP.Disconnect;
          msg := 'SMTP Ok, le message a été envoyé à l''adresse indiquée';
          MessageBox(0, Pchar(msg), 'Confirmation', MB_ICONINFORMATION or MB_OK);
        except
         on e : Exception do
          begin
            Screen.Cursor:=crdefault;
            msg:='Impossible de se connecter au serveur SMTP' + sLineBreak + e.Message;
            MessageBox(0,Pchar(msg), 'Erreur', MB_ICONERROR or MB_OK);
          end;
        end;
        Screen.Cursor:=crdefault;
    end;
    Je récapitule les erreurs à l'exécution :

    • UseTLS = True


    1. Port 25 : Socket Error # 10060 Connection time out
    2. Port 465 : Socket Error # 10060 Connection time out
    3. Port 587 : Socket Error # 10060 Connection time out



    • UseTLS = False


    1. Port 25 : Must Issue a STARTTLS command first.
    2. Port 465 : Connection Closed Gracefully
    3. Port 587 : Must Issue a STARTTLS command first.


    Je récapitule, j'ai fait les 6 combinaisons possibles mais aucune d'entre elle ne m'a permis d'envoyer un mail ? une explication SVP.

  9. #9
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    tu as vu ma réponce?? jusqu'à la fin??

  10. #10
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Citation Envoyé par edam Voir le message
    tu as vu ma réponse?? jusqu'à la fin??
    Oui je l'ai vu ...

    La question est, j'ai fait les 6 combinaisons possibles, sauf erreur de ma part ou omission d'une commande ou appel d'une propriété mon code devrait, logiquement, marcher mais ce n'est pas le cas, alors où est le problème dans le code ?

  11. #11
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Pour preuve edam voici le code avec tes deux fonctions intégrées mais j'ai toujours les mêmes erreurs à l'exécution !

    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
    procedure Tfm_ActivexMEDIC.btn1Click(Sender: TObject);
    var
      idSmtp : TidSmtp;
      IdMessage : TIdMessage;
      msg : string;
      useTLS : Boolean;
      SSLHandler: TIdSSLIOHandlerSocketOpenSSL;
    begin
      useTLS := chk1.Checked;
      Screen.Cursor:=crHourGlass;
     
      SSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
      with SSLHandler do
      begin
        Destination :='smtp.gmail.com:465';
        Host := 'smtp.gmail.com';
        MaxLineAction := maException;
        Port := StrToInt(cbb1.Text);
        SSLOptions.Method :=sslvTLSv1;
        SSLOptions.Mode := sslmUnassigned;//sslmClient ;//
        SSLOptions.VerifyMode := [];//[sslvrfClientOnce];
        SSLOptions.VerifyDepth := 0;
      end;
     
      idSmtp := TIdSMTP.Create(nil);
      with idSmtp do
      begin
        IOHandler := SSlHandler;
        UseTLS := utUseImplicitTLS;
        AuthType := satDefault;
        HeloName := 'smtp.gmail.com';
        Host := 'smtp.gmail.com';
        Port := StrToInt(cbb1.Text);
        UserName := 'monmail@gmail.com'; //Nom d'utilisateur
        Password := 'monMDP'; //Mot de passe
      end;
     
      if useTLS then
      begin
        idSMTP.IOHandler := SSLHandler;
        idSMTP.UseTLS := utUseImplicitTLS; // 1
      end
      else begin
        idSMTP.UseTLS:=utNoTLSSupport; // 0
      end;
     
      //// Envoi Smtp
      IdMessage := TIdMessage.Create(IdSMTP);
      IdMessage.Clear; //Efface l'entête et le corps du message
      IdMessage.From.Text :='monmail@gmail.com'; //Adresse email de l'expediteur
      IdMessage.ReplyTo.EMailAddresses:= 'monmail@gmail.com'; //Adresse email où le destinataire pourra répondre
      IdMessage.Recipients.EMailAddresses:='monmail@gmail.com'; //Adresse email du destinataire
      idMessage.ContentType := 'multipart/mixed';
     
      try
        idSmtp.AuthType := satNone; //1
        idSMTP.Connect;
        idSMTP.Send(idMessage);
        idSMTP.Disconnect;
        msg := 'SMTP Ok, le message a été envoyé à l''adresse indiquée';
        MessageBox(0, Pchar(msg), 'Confirmation', MB_ICONINFORMATION or MB_OK);
      except
         on e : Exception do
         begin
           Screen.Cursor:=crdefault;
           msg:='Impossible de se connecter au serveur SMTP' + sLineBreak + e.Message;
           MessageBox(0,Pchar(msg), 'Erreur', MB_ICONERROR or MB_OK);
         end;
      end;
      Screen.Cursor:=crdefault;
    end;

  12. #12
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    tu as telecharger les nouvelles dll?
    chez moi sa marche trés bien

  13. #13
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Citation Envoyé par edam Voir le message
    tu as telecharger les nouvelles dll?
    chez moi sa marche trés bien
    Oui et déposer dans le répertoire de l'application.

    J'ai toujours cette erreur bizarre "Connextion Closed Gracefully". De ce fait, je vous demande edam si possible d'exécuter le code que j'ai fourni dans le post précédent chez vous et de me dire si vous avez la même erreur, merci par avance.

  14. #14
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894

  15. #15
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Citation Envoyé par edam Voir le message
    Oui tout est bien configure ... je crois que je vais abandonner cette solution bien que je suis dans l'obligation de la mettre

  16. #16
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    J'ai suivi à la lettre ce qui est écrit ici et voici ma forme en texte :

    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
    object Form8: TForm8
      Left = 0
      Top = 0
      Caption = 'Form8'
      ClientHeight = 242
      ClientWidth = 527
      Color = clBtnFace
      Font.Charset = DEFAULT_CHARSET
      Font.Color = clWindowText
      Font.Height = -11
      Font.Name = 'Tahoma'
      Font.Style = []
      OldCreateOrder = False
      PixelsPerInch = 96
      TextHeight = 13
      object btn1: TButton
        Left = 232
        Top = 128
        Width = 75
        Height = 25
        Caption = 'btn1'
        TabOrder = 0
        OnClick = btn1Click
      end
      object IdSMTP1: TIdSMTP
        IOHandler = IdSSLIOHandlerSocketOpenSSL1
        Host = 'smtp.gmail.com'
        Password = 'monMDP'
        Port = 587
        SASLMechanisms = <>
        UseTLS = utUseExplicitTLS
        Username = 'moi'
        Left = 96
        Top = 56
      end
      object IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL
        Destination = 'smtp.gmail.com:587'
        Host = 'smtp.gmail.com'
        MaxLineAction = maException
        Port = 587
        DefaultPort = 0
        SSLOptions.Mode = sslmUnassigned
        SSLOptions.VerifyMode = []
        SSLOptions.VerifyDepth = 0
        Left = 264
        Top = 32
      end
      object IdMessage1: TIdMessage
        AttachmentEncoding = 'UUE'
        BccList = <>
        CCList = <>
        Encoding = meDefault
        FromList = <
          item
            Address = 'monmail@gmail.com'
            Text = 'monmail@gmail.com'
            Domain = 'gmail.com'
            User = 'moi'
          end>
        From.Address = 'monmail@gmail.com'
        From.Text = 'monmail@gmail.com'
        From.Domain = 'gmail.com'
        From.User = 'moi'
        ReceiptRecipient.Address = 'monmail@gmail.com'
        ReceiptRecipient.Text = 'monmail@gmail.com'
        ReceiptRecipient.Domain = 'gmail.com'
        ReceiptRecipient.User = 'moi'
        Recipients = <
          item
            Address = 'monmail@gmail.com'
            Text = 'monmail@gmail.com'
            Domain = 'gmail.com'
            User = 'moi'
          end>
        ReplyTo = <>
        Sender.Address = 'monmail@gmail.com'
        Sender.Text = 'monmail@gmail.com'
        Sender.Domain = 'gmail.com'
        Sender.User = 'moi'
        ConvertPreamble = True
        Left = 424
        Top = 40
      end
    end
    en exécutant pas à pas le programme, l'erreur Connection Closed Gracefuly est déclenchée à la ligne en rouge de l'unité IdSMTPBase:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TIdSMTPBase.Send(AMsg: TIdMessage);
    var
      LRecipients: TIdEMailAddressList;
    begin
      LRecipients := TIdEMailAddressList.Create(Self);
      try
        LRecipients.AddItems(AMsg.Recipients);
        LRecipients.AddItems(AMsg.CCList);
        LRecipients.AddItems(AMsg.BccList);
        Send(AMsg, LRecipients);
      finally
        FreeAndNil(LRecipients);
      end;
    end;
    des idées ....

Discussions similaires

  1. Delphi 2010 disponible!
    Par nostroyo dans le forum EDI
    Réponses: 71
    Dernier message: 06/10/2010, 09h16
  2. Réponses: 17
    Dernier message: 12/02/2010, 09h43
  3. Delphi 2010 disponible!
    Par nostroyo dans le forum Actualités
    Réponses: 32
    Dernier message: 29/08/2009, 15h51

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