Ergebnis 1 bis 3 von 3
  1. #1
    W32.FunLove
    Registriert seit
    06.12.2006
    Beiträge
    130

    Standard [F] IdPOP3 und googlemail

    Hi,
    ich habe ein Problem mit der Verbindung zum Pop-Server von GoogleMail.
    Undzwar habe ich etwas geschrieben, das bei allen Anbietern, die ich bisher getestet habe funktioniert, aber bei GoogleMail nicht. Das ganze sieht so aus:
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      IdPOP31.Host := 'pop.googlemail.com';
      IdPOP31.Port := 995;
      IdPOP31.Username := '***********@googlemail.com';
      IdPOP31.Password := '***********';
      try
        IdPOP31.Connect;
        if IdPOP31.Connected = true then
          ShowMessage('Works');
        IdPOP31.Disconnect;
      except
        on E: Exception do begin
          ShowMessage(E.Message);
        end;
      end;
    end;
    Also wie gesagt, bei Anbietern, wie Gmx und Web.de ist das kein Problem (der Port muss natürlich angepasst werden). Aber bei GoogleMail bleibt das Programm einfach hängen. Ich bekomme noch nicht Mal einen Fehler ausgegeben. Hoffentlich kann mir jemand helfen.
    //EDIT
    So ich glaube, dass ich das Problem gefunden habe, aber noch nicht weiß wie ich es lösen kann. Nach diesem Threat http://www.delphipraxis.net/topic46959.html hat GoogleMail was gegen IdPop3. Hat vllt jemand ne Ahnung wie man das umgehen könnte?

  2. #2
    NoClose Wurm Avatar von bayer
    Registriert seit
    31.03.2007
    Beiträge
    185

    Standard

    1. GMail verlangt SSL
    2. GMail blockiert meines Wissens nach den Useragent von den Indy-Komponenten

    Hatte dasselbe problem auch schon

    habs hiermit gelöst:

    http://synapse.ararat.cz/

  3. #3
    W32.FunLove
    Registriert seit
    06.12.2006
    Beiträge
    130

    Standard

    Danke für die Antwort.
    Jetzt ist bei mir aber noch eine Frage aufgekommen:
    Undzwar würde ich gerne alle Absender auslesen, von denen Mails im Postfach liegen. Dazu habe ich folgendes:
    Code:
    procedure TForm1.Button1Click(Sender: TObject);
    var i : integer;
    begin
      IdPOP31.Host := 'host';
      IdPOP31.Username := 'username';
      IdPOP31.Password := 'password';
      IdPOP31.Connect();
      for i := 1 to IdPOP31.CheckMessages do begin
        IdPOP31.Retrieve(i, IdMessage1);
        ShowMessage(IdMessage1.From.Text);
      end;
      IdPOP31.Disconnect;
    end;
    Eigentlich wird doch durch IdPOP31.CheckMessages die Gesamtzahl der Mails im Postfach ausgelesen. Von daher kann ich doch eigentlich über die Schleifenvariable i einfach bis zur Gesamtzahl der Mails durchgehen und jedes Mal den Absender auslesen. Aber wenn ich das ausprobiere wird immer nur der Absender der neusten Mail im Postfach angezeigt.
    Kann mir da evtl jemand helfen?

    //EDIT
    So dank ein wenig Hilfe weiß ich jetzt wie es geht. IdMessage1 musste bei jedem Schleifendurchlauf noch geleert werden.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •