Autor Beitrag
mats
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Fr 27.07.18 08:31 
Hallo,

ich möchte in ein Programm einen eMail-Client integrieren und da stellt sich die Frage: Mit Indy-Tools oder Synapse? (ich hab noch mit keinem gearbeitet!)
Es soll kein Anhang mitgeschickt werden, und der User hat mit dem Modul nichts zu tun (keine Eingaben), heißt: die Mails sollen im Hintergrund versandt werden, und es werden KEINE eMails empfangen. Welche der beiden Komponenten eignet sich besser (für mich kürzer, einfacher, übersichtlicher) für mein Vorhaben.
Hat jemand schon mit beiden gearbeitet? Welche wird allgemein bevorzugt?

In gespannter Erwartung

mats
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18702
Erhaltene Danke: 1620

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 27.07.18 08:40 
Synapse und ICS unterstützen im Gegensatz zu Indy nonblocking sockets. Ob das auch für Mails gilt, weiß ich nicht. Das hat den Vorteil, dass Anfragen nicht blockieren, wenn der Server nicht erreichbar ist usw., aber einfacher dürfte Indy sein.
mats Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Fr 27.07.18 19:16 
Hallo,

ich habe es mit Indy und Synapse probiert und es hat nicht funktioniert. Bei Indy bekomme ich die Exception: 'Socket Error #10013 Access denied' und mit Synapse haut der Login nicht hin. Wobei nur ein True o. False zurückkommt. Die Firewall ist für die Programme offen.
Ich habe mir vor ein paar Tagen die Delphi 10.2 Community Version runtergeladen. Vielleicht macht es Sinn zu Delphi zu wechseln?
Hat jemand noch eine zündende Idee?

mats
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10061
Erhaltene Danke: 1194

W2k .. W7pro .. W10ent
TP3 .. D7pro .. D10.1
BeitragVerfasst: Fr 27.07.18 23:35 
Moin!

Die Zeiten, in denen man "einfach so" eine E-Mail versenden konnte, sind (zum Glück!) schon lange vorbei. Wenn du heute nicht mit SSL und Authentifizierung beim SMTP-Server aufläufst, nimmt der keine E-Mails von dir an. :nixweiss: Die genannte Fehlermeldung weist genau darauf hin. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
mats Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Sa 28.07.18 08:38 
Hallo,

bei Synapse ist FullSSL auf true, und wird auch so zurückgegeben. Als Mailserver habe ich mail.gmx.net mit Port 587 eingetragen, so wie es GMX will. Soweit funktioniert alles - alles true, nur nicht der Login und das Senden danach.

Keine Idee mehr

mats
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1169
Erhaltene Danke: 81

Win7
DXE2 Prof, Lazarus
BeitragVerfasst: Sa 28.07.18 12:07 
Hey. Mit GMX habe ich seit Jahren nicht mehr probiert ob es noch geht. Ich habe fuers testen ein gmail Account. Firebird geht, und auch Zugriff via Programm aber ich verwende was nicht ganz guestiges kommerzielles. Aus meiner Sicht aktuell das Beste was es gibt, nein ich bekomme keinen Rabatt von denen ;-). Wenn Du Geld ausgeben willst/kannst dann schau mal nach /NSoftware.
Ich denke das GMX genauso geht wie alle anderen Mail Anbieter. Kannst ja mal mit Firebird testen.

Und, die Delphi Community Version, auch wenn sie 10 Jahre zu spaet kommt, ist vom Umfang her wie Delphi Professional, also genau was Du brauchst.

_________________
Solange keine Zeile Code geschrieben ist, läuft ein Programm immer fehlerfrei.
Ich teste nicht, weil ich Angst habe Fehler zu finden.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18702
Erhaltene Danke: 1620

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 28.07.18 22:05 
user profile iconmats hat folgendes geschrieben Zum zitierten Posting springen:
bei Synapse ist FullSSL auf true, und wird auch so zurückgegeben. Als Mailserver habe ich mail.gmx.net mit Port 587 eingetragen, so wie es GMX will. Soweit funktioniert alles - alles true, nur nicht der Login und das Senden danach.
Welche SSL-DLLs verwendest du denn?

Mit Delphi 10.2 funktioniert es mit GMX und Indy mit SSL problemlos:
ausblenden volle Höhe Delphi-Quelltext
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:
uses
  IdSMTP, IdMessage, IdEMailAddress, IdBaseComponent, IdComponent,
  IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL,
  IdExplicitTLSClientServerBase;

procedure TForm14.Button1Click(Sender: TObject);
var
  SMTP: TIdSMTP;
  NewMessage: TIdMessage;
  Recipient: TIdEMailAddressItem;
  IndySSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
  NewMessage := TIdMessage.Create(NIL);
  try
    Recipient := NewMessage.Recipients.Add;
    Recipient.Name := 'Sebastian Jänicke';
    Recipient.Address := '---@hotmail.com';
    NewMessage.From.Name := 'Sebastian Jänicke';
    NewMessage.From.Address := '---@gmx.de';
    NewMessage.Body.Text := 'Das ist eine kleine Testnachricht.';
    NewMessage.Subject := 'Das ist der Betreff';
    IndySSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    try
      IndySSLIOHandler.SSLOptions.Method := sslvTLSv1;
      IndySSLIOHandler.SSLOptions.Mode := sslmClient;
      SMTP := TIdSMTP.Create(nil);
      try
        SMTP.IOHandler := IndySSLIOHandler;
        SMTP.Host := 'mail.gmx.net';
        SMTP.Port := 587;
        SMTP.AuthType := satDefault;
        SMTP.Username := '---@gmx.de';
        SMTP.Password := '---';
        SMTP.UseTLS := utUseExplicitTLS;
        SMTP.Connect;
        try
          SMTP.Send(NewMessage);
        finally
          SMTP.Disconnect;
        end;
      finally
        SMTP.Free;
      end;
    finally
      IndySSLIOHandler.Free;
    end;
  finally
    NewMessage.Free;
  end;
end;

An den markierten Stellen musst du natürlich die Zugangs- und Empfängerdaten eintragen.
Die DLLs habe ich von hier heruntergeladen:
indy.fulgan.com/SSL/ (einfach die aktuelle Version, z.B. openssl-1.0.2o-i386-win32.zip)
mats Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: So 29.07.18 08:30 
Hallo zusammen,

an Sinspin: die NSoftware seh ich mir auf alle Fälle an, auch wenn das Geld immer knapp ist.
Die Community Version von Delphi ist zwar umsonst, wie die abgespeckte Starterversion, doch (und es gibt immer einen Haken) gilt die Lizenz nur für 367 Tage. So wurde es nach der Installation angezeigt. Mal sehen was bis dahin passiert.

an jaenicke: den Quelltest werd ich heute gleich ausprobieren. So vom drübersehen ist mir aufgefallen, das einige Stellen doch anders sind als bei Lazarus.
Bei Lazarus kann man Programmquellcode von Delphi importieren. Da ich mein Programm in Lazarus begonnen habe, stellt sich die Frage: Kann ich diesen Sourcecode, wenn er läuft, nach Lazarus bzw. Free Pascal portieren? Denn, das größte Problem kommt erst noch (mit SOAP ein Verbindung zu einem MySQL-Server), und ich weiß nicht ob/wie ich es in Delphi oder Laz hinbekomme.

mats
Tankard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 172
Erhaltene Danke: 29



BeitragVerfasst: So 29.07.18 15:08 
user profile iconmats hat folgendes geschrieben Zum zitierten Posting springen:
Denn, das größte Problem kommt erst noch (mit SOAP ein Verbindung zu einem MySQL-Server), und ich weiß nicht ob/wie ich es in Delphi oder Laz hinbekomme.

mats



Hallo,

schau dir dafür mal "mORMot" an. Das findest du unter: github.com/synopse/mORMot