POP3 mit Synapse

Alle Fragen zur Netzwerkkommunikation
Cybermonkey342
Beiträge: 109
Registriert: Sa 1. Mär 2008, 15:19
OS, Lazarus, FPC: Kubuntu 22.04 (FPC 3.2.2) / Win11 Pro (FPC 3.2.2) / macOS Ventura (FPC 3.2.2)
CPU-Target: x86/x64
Kontaktdaten:

POP3 mit Synapse

Beitrag von Cybermonkey342 »

Hallo, ich wollte mal spaßeshalber Synapse ausprobieren, um evtl. einen kleinen E-Mail-Client zu programmieren. Irgendwie funktioniert das so nicht richtig, oder ich erwarte ein falsches Ergebnis. Ich habe das Beispiel aus dem Ararat Wiki genommen (auf einem Formular mit einem Button und zwei Memo Feidern):

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
var
  pop:TPOP3Send;
begin
    pop:=TPOP3Send.create;
  try
    pop.AutoTLS := false;
    pop.Username:='yourusername'; // hier gebe ich meine Daten ein
    pop.Password:='yourpassword'; // hier gebe ich meine Daten ein
    pop.TargetHost:='your.pop3.host.com'; // hier gebe ich meine Daten ein
    pop.AuthType:=POP3AuthAll;
    pop.login;
 
    pop.list(0);
 
    memo2.lines.Assign(pop.FullResult);
    pop.Retr(1);
   // pop.top(1,0);
    memo1.lines.Assign(pop.FullResult);
    pop.logout;
  finally
    pop.free;
  end;
end;

Ich dachte nun, als Ergebnis bekomme ich die Mails in einem Memofeld angezeigt, aber das einzige was kommt (in Memo2) ist:
1 1583
Memo1 zeigt überhaupt nichts an.
Mit

Code: Alles auswählen

pop.AutoTLS := true;
friert das Programm einfach ein ...
Wie bringe ich Synapse dazu mir die Mail(s) anzuzeigen? Ich gebe doch das FullResult aus?
Mit besten Grüßen,
Cybermonkey

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: POP3 mit Synapse

Beitrag von theo »

Das funzt wahrscheinlich schon, aber es liegt keine einfache Email in der Mailbox, sondern eine Multipart die zuerst dekodiert werden müsste.
Schick dir eine einfache Nur-Text Post, die müsste angezeigt werden.

TLS:
http://synapse.ararat.cz/doku.php/publi ... :sslplugin

Cybermonkey342
Beiträge: 109
Registriert: Sa 1. Mär 2008, 15:19
OS, Lazarus, FPC: Kubuntu 22.04 (FPC 3.2.2) / Win11 Pro (FPC 3.2.2) / macOS Ventura (FPC 3.2.2)
CPU-Target: x86/x64
Kontaktdaten:

Re: POP3 mit Synapse

Beitrag von Cybermonkey342 »

Hallo, und ja so funktioniert es. Scheint mir aber jedenfalls zu aufwändig damit einen E-Mail Client zu programmieren, man müsste ja die ganzen Mails erst einmal parsen, um dann den reinen Text zu erhalten.
Return-Path: <blabla@web.de>
Delivered-To: GMX delivery to markusmangold@gmx.de
Received: (qmail invoked by alias); 27 Mar 2012 12:50:31 -0000
Received: from fmmailgate05.web.de (EHLO fmmailgate05.web.de) [217.72.192.243]
by mx0.gmx.net (mx065) with SMTP; 27 Mar 2012 14:50:31 +0200
Received: from moweb002.kundenserver.de (moweb002.kundenserver.de [172.19.20.108])
by fmmailgate05.web.de (Postfix) with ESMTP id B72EE6BB64C1
for <markusmangold@gmx.de>; Tue, 27 Mar 2012 14:50:26 +0200 (CEST)
Received: from [192.168.1.5] ([217.233.68.179]) by smtp.web.de (mrweb001) with
ESMTPA (Nemesis) id 0LakkS-1SewnK2OQC-00kFDF; Tue, 27 Mar 2012 14:50:26 +0200
Message-ID: <4F71B791.1000209@web.de>
Date: Tue, 27 Mar 2012 14:50:25 +0200
From: Markus Mangold <blabla@web.de>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120310 Thunderbird/11.0
MIME-Version: 1.0
To: markusmangold@gmx.de
Subject: Noch ein Test
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit
X-Provags-ID: V02:K0:CffH1FMxN9p3m+omoQ9QVZsD94qsCwwDdjD6h2HF7Sh
BFpdH6nw0zYIhc8aToGVi+iO4KEtc4s8f4uvMycOSnRDxAZDfp
NCzH/u4paZqCsPpz2BHAp8KtoN9TPqOd+hijyRK/Zpybi+YeXe
7zpZnCI/c9cW8WM39T9Yvfrwit5mXTwIzgVU2SxgcIKIzQaeE6
LQ3TmIxy3waHjlEcwQZiw==
X-GMX-Antivirus: 0 (no virus found)
X-GMX-Antispam: 0 (Mail was not recognized as spam);
Detail=5D7Q89H36p6AbpZd1F6Rq4spkbwvpz1c0/FTysYns9jwoWFRzGpa+5j1gprWZrkmBAM8j
E3IAsYpqLZmkhTb0yL6kCzohW0AB7xWySfRCYpebmjAodyHV+pRqmZzlsWZzz3+mPdlGalrifx9o
YqpCQ==V1;

Hallo, noch ein Test.

Und rauskommen soll:
Hallo, noch ein Test.
Mit besten Grüßen,
Cybermonkey

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: POP3 mit Synapse

Beitrag von DiBo33 »

Scheint mir aber jedenfalls zu aufwändig damit einen E-Mail Client zu programmieren, man müsste ja die ganzen Mails erst einmal parsen, um dann den reinen Text zu erhalten.


Hast du etwa geglaubt man könne mit 2-3 Zeilen Code einen EMail-Client programmieren?

Was du da hast ist (zu deinem Glück) nur eine reine Text-Mail, schöner wirds erst bei HTML-/Misch-Mails.
Den Aufbau einer Mail kannst du in den RFCs nachlesen grundlegend den Aufbau beschreibt auch:
http://de.wikipedia.org/wiki/E-Mail

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: POP3 mit Synapse

Beitrag von theo »

Synapse bietet die Units mimemess und mimepart

http://synapse.ararat.cz/doc/help/

Cybermonkey342
Beiträge: 109
Registriert: Sa 1. Mär 2008, 15:19
OS, Lazarus, FPC: Kubuntu 22.04 (FPC 3.2.2) / Win11 Pro (FPC 3.2.2) / macOS Ventura (FPC 3.2.2)
CPU-Target: x86/x64
Kontaktdaten:

Re: POP3 mit Synapse

Beitrag von Cybermonkey342 »

DiBo33 hat geschrieben:
Scheint mir aber jedenfalls zu aufwändig damit einen E-Mail Client zu programmieren, man müsste ja die ganzen Mails erst einmal parsen, um dann den reinen Text zu erhalten.


Hast du etwa geglaubt man könne mit 2-3 Zeilen Code einen EMail-Client programmieren?

Natürlich nicht, aber letztlich ist mir der Aufwand für ein Spaß-Projekt zu hoch. (Mal abgesehen davon, dass es Mail-Clients wie Sand am Meer gibt).
HTML-Mails könnten evtl. ja über Turbopower-IPro TipHtmlPanel ausgegeben werden ...
Mit besten Grüßen,
Cybermonkey

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Re: POP3 mit Synapse

Beitrag von DiBo33 »

Natürlich nicht, aber letztlich ist mir der Aufwand für ein Spaß-Projekt zu hoch.


Ja, der Aufwand bei einem Mail-Client wird schnell unterschätzt, es gibt allein mind. 8 RFCs nur allein für Mails (Adresse, Header, Body, ...), da schreib dir lieber einen Browser und/oder HTTP-Server :mrgreen:.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: POP3 mit Synapse

Beitrag von Christian »

Der fehler den du machst ist das du in Retr die falsche ID angibst.
Wenn du pop.Retr(1583); machst hast du auch dein erwartetes Ergebnis.
Und nen Mail Clienten zu schreiben ist von der pop3/smtp Seite her wirklich ned schwer. Nur HTML Mails verfassen/anzeigen ist etwas tricky.
Aber mein Promet kann das auch alles und ich hab da keine Jahre dran gesessen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Cybermonkey342
Beiträge: 109
Registriert: Sa 1. Mär 2008, 15:19
OS, Lazarus, FPC: Kubuntu 22.04 (FPC 3.2.2) / Win11 Pro (FPC 3.2.2) / macOS Ventura (FPC 3.2.2)
CPU-Target: x86/x64
Kontaktdaten:

Re: POP3 mit Synapse

Beitrag von Cybermonkey342 »

Christian hat geschrieben:Aber mein Promet kann das auch alles und ich hab da keine Jahre dran gesessen.

Doofe Frage, vielleicht: Was ist Promet? Habe versucht auf deine Homepage zu gelangen, aber der Server antwortet nicht ... Ok, habe gelesen, das sei ein ERP. Sehr interessant, hoffe deine Seite geht bald wieder (selbst der Google Cache lädt nicht), damit ich mir das mal anschauen kann. Bin nämlich auf der Suche nach einem ERP, mit dem man einfach Rechnungen (brutto mit 7% und 19%) schreiben kann, das richtig rechnet. :wink: Mal sehen, ob's das Promet kann ...
Mit besten Grüßen,
Cybermonkey

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: POP3 mit Synapse

Beitrag von Christian »

Die Homepage sollte gehn (ich komm jedenfalls problemlos drauf) Downloads gibts dort aber momentan noch nicht. Ich betreibs halt hauptsächlich für 3 Kunden und mich. Wenn du aber mal probiern willst schick ich dir gern mal nen installer per mail.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Cybermonkey342
Beiträge: 109
Registriert: Sa 1. Mär 2008, 15:19
OS, Lazarus, FPC: Kubuntu 22.04 (FPC 3.2.2) / Win11 Pro (FPC 3.2.2) / macOS Ventura (FPC 3.2.2)
CPU-Target: x86/x64
Kontaktdaten:

Re: POP3 mit Synapse

Beitrag von Cybermonkey342 »

Christian hat geschrieben:Die Homepage sollte gehn (ich komm jedenfalls problemlos drauf) Downloads gibts dort aber momentan noch nicht. Ich betreibs halt hauptsächlich für 3 Kunden und mich. Wenn du aber mal probiern willst schick ich dir gern mal nen installer per mail.

Ja gerne. Kannst mir ja eine PM schicken oder an meine Mailadresse auf der EGSL Homepage.
Mit besten Grüßen,
Cybermonkey

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: POP3 mit Synapse

Beitrag von MacWomble »

delete
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: POP3 mit Synapse

Beitrag von MacWomble »

Hallo, ich habe erneut ein kleines Problem mit Synapse. Ich kann mich anmelden und es funktioniert auch sehr gut bisher. Im Postfach sind 5 Mails, die ich auch einzeln angezeigt bekomme, wenn ich die Schleife weg mache und eine ID vorgebe. sc ist richtigerweise 5. Es werden aber nur die Daten der beiden ersten Mails geholt, die anderen drei sind leer.

Ausgabe ab 3. Mail:

Code: Alles auswählen

  Date:       30.12.1899    00:00
  from:       
  subject:   
  organisation:   
  messageid:   


Code: Alles auswählen

 
  if (not pop.Login) then
  begin                         
    memo1.Lines.Add('POP login failed.');
    exit;
  end;
  pop.list(0);
  memo2.Lines.Assign(pop.FullResult);
 
 
  pop.Stat//  Hier beginnt mein Problem
  sc := pop.statcount;   //  sc ist 5;  k wird richtig hochgezählt.
  for k := 1 to sc do   
  begin
    pop.Retr(k);    // Wenn ich die Schleife weg mache und hier die ID direkt eintrage, werden auch die drei letzten Mails angezeigt (natürlich immer nur eine)
    msg.Clear;
    msg.Lines.Assign(pop.FullResult);
    msg.DecodeMessage;
    memo3.Lines.Add('  Date:       ' + FormatDateTime('DD.MM.YYYY    HH:MM', msg.Header.Date));
    memo3.Lines.Add('  from:       ' + msg.Header.From);
    memo3.Lines.Add('  subject:    ' + msg.Header.Subject);
    memo3.Lines.Add('  organisation:    ' + msg.Header.Organization);
    memo3.Lines.Add('  messageid:    ' + msg.Header.MessageID);
    memo3.Lines.Add(' ');
  end;
 
 
  pop.logout;
  pop.Free;
 
end;                                 


EDIT: Nachdem ich AutoTLS auf true setzte funktioniert es nun.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: POP3 mit Synapse

Beitrag von TT73GP7 »

Hallo zusammen,

Ich wollte das Beispiel mal nachbasteln
aber mal nee Dumme Frage

was ist denn msg fürn Datentyp?
also wenn ich das ausführen will sagt er das er das nicht kennt.

kannst du mir das mal kurz verraten?

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: POP3 mit Synapse

Beitrag von Michl »

Sollte vom Typ TMimeMess (Unit mimemess) sein.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Antworten