AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit
Thema durchsuchen
Ansicht
Themen-Optionen

Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

Ein Thema von Gerd01 · begonnen am 7. Dez 2016 · letzter Beitrag vom 10. Dez 2016
Antwort Antwort
Seite 1 von 2  1 2      
Gerd01

Registriert seit: 18. Mär 2005
Ort: NRW
117 Beiträge
 
Delphi XE2 Professional
 
#1

Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

  Alt 7. Dez 2016, 11:15
Indy hat für die Protokolle SMTP/POP3 und vor allen Dingen IMAP immer mehr verquaste Komponenten und einiges an Workaround ist erforderlich um Indy so zum Laufen zu bringen, das auch etwas komplexere Aufgaben zu erledigen. Wie so oft bei anderen Entwicklungen beobachtet, wird Indy immer mehr verschlimmbessert. Ein typisches Beispiel ist das Laden von Mail-Quelltexten (.eml) über einen Stream oder als File. Warum es manchmal klappt und dann wieder nicht ist nicht nachzuvollziehen. Nach meiner Beobachtung arbeitet man auch nicht mehr an der Weiterentwicklung.

Ich habe mir deshalb Visual Studio 2015 Community und hier speziell Mailkit/Mimekit angesehen und bin begeistert wie einfach man mit ein paar Zeilen cSharp-Code komplexe Aufgaben erledigen kann. Die DLL-s sind sauschnell und zuverlässig. Auch lassen Sie sich einfach von Delphi XE2 aufrufen.
Ich habe auch zum Beispiel cSharp genutzt um sehr elegant HTML-Code in PDF zu verwandeln. Hier das Beispiel:

Code:
using Microsoft.Win32;
using RGiesecke.DllExport;
using SelectPdf;
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace Test
{
    public class gcCommon
    {

        [DllExport(CallingConvention = CallingConvention.StdCall)]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static bool GeneratePdfFile
        (
        [param: MarshalAs(UnmanagedType.BStr)]string content,
        [param: MarshalAs(UnmanagedType.BStr)]string filename
        )
        {

            try
            {
                string pdf_page_size = PdfPageSize.A4.ToString();
                PdfPageSize pageSize = (PdfPageSize)Enum.Parse(typeof(PdfPageSize), pdf_page_size, true);

                string pdf_orientation = PdfPageOrientation.Portrait.ToString();
                PdfPageOrientation pdfOrientation = (PdfPageOrientation)Enum.Parse(typeof(PdfPageOrientation), pdf_orientation, true);

                 // instantiate a html to pdf converter object
                HtmlToPdf converter = new HtmlToPdf();

                // set converter options
                converter.Options.PdfPageSize = pageSize;
                converter.Options.PdfPageOrientation = pdfOrientation;
                converter.Options.MarginLeft = 35;
                converter.Options.MarginRight = 35;
                converter.Options.MarginTop = 20;
                converter.Options.MarginBottom = 20;
                //converter.Options.WebPageWidth = webPageWidth;
                //converter.Options.WebPageHeight = webPageHeight;

                // create a new pdf document converting an url
                SelectPdf.PdfDocument doc = converter.ConvertHtmlString(content);
                // save pdf document
                doc.Save(@filename);

                // close pdf document
                doc.Close();

            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            return true;
        }
    }
}
Wie wäre es, wenn wir hier eine Diskussion beginnen Teile von Delphi durch cSHarp sinnvoll zu ersetzen. Man kann bei Delphi bleiben, erweitert aber seinen Horizont ( und löst ganz einfach Aufgaben, die man in Delphi so nicht lösen kann).
Vielleicht kann Delphipraxis hierfür auch eine eigene Rubrik eröffnen? Interesse?
  Mit Zitat antworten Zitat
Benutzerbild von TRomano
TRomano

Registriert seit: 24. Nov 2004
Ort: Düsseldorf
192 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

  Alt 7. Dez 2016, 13:16
Eine nette Idee, aber ich habe große Bedenken ...
Ich erstelle u. a. Delphi-VCL-Applikationen (monolithisch), um Abhängigkeiten (Installationen) zu vermeiden.
Wenn man Indy nicht so mag (so wie ich) oder deren Wirrwarr in den Versionen, dann nimmt man halt andere Component-Sets, die gut funktionieren.
Thomas Forget
  Mit Zitat antworten Zitat
HPB

Registriert seit: 2. Jun 2008
365 Beiträge
 
Delphi XE7 Professional
 
#3

AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

  Alt 7. Dez 2016, 15:06
Eine nette Idee, aber ich habe große Bedenken ...
Ich erstelle u. a. Delphi-VCL-Applikationen (monolithisch), um Abhängigkeiten (Installationen) zu vermeiden.
Wenn man Indy nicht so mag (so wie ich) oder deren Wirrwarr in den Versionen, dann nimmt man halt andere Component-Sets, die gut funktionieren.
Guten Tag,
Frage: Welche guten Componenten gibt es es als Ersatz für Indy?
Als Freeware und/oder Kaufversion?
Mit Gruß
HPB
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

  Alt 7. Dez 2016, 15:19
Kollegen nutzen zum Empfang und Versenden von E-Mails erfolgreich die ICS-Komponenten:
http://www.overbyte.be/frame_index.h...ducts/ics.html
  Mit Zitat antworten Zitat
Gerd01

Registriert seit: 18. Mär 2005
Ort: NRW
117 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

  Alt 7. Dez 2016, 16:27
Eine nette Idee, aber ich habe große Bedenken ...
Ich erstelle u. a. Delphi-VCL-Applikationen (monolithisch), um Abhängigkeiten (Installationen) zu vermeiden.
Wenn man Indy nicht so mag (so wie ich) oder deren Wirrwarr in den Versionen, dann nimmt man halt andere Component-Sets, die gut funktionieren.
Ich versuche mal zu übersetzen. Monolithisch meinst du wohl, das die Anwendung "aus einem Guss" sein soll. Und eine Delphi Applikation ist dann immer monolithisch? Was ist mit den vielen DLL-S des Betriebssystem, die du aus Delphi aufrufst?
Das erforderliche Framework für cSharp wird seit Vista mitinstalliert und ständig aktualsiert, weil auch das Windows-Betriebssystem dieses Framework nutzt. Im Übrigen ist die Installation des Frameworks bei Inno-Setup kein Problem.

Es gibt keinen kostenlosen Ersatz für Indy. Alle anderen bekannten Komponenten kosten richtig viel Geld. ICS hat noch nicht mal das Imap-Protokoll. Ist wohl zu kompliziert.

Naja es war ja nur ein Vorschlag von mir über das Thema hier zu diskutieren. Meine Begeisterung kann ich wohl nicht übertragen.
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
436 Beiträge
 
Delphi 12 Athens
 
#6

AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

  Alt 7. Dez 2016, 16:40
Frage: Welche guten Componenten gibt es es als Ersatz für Indy?
Als Freeware und/oder Kaufversion?
HPB
Ich bevorzuge die IP*Works! - Komponenten. Bei meiner Lizenz (Delphi XE 10.1 Berlin Pro) kann man die gratis bei Emba runterladen und benutzen. Finde ich viel einfacher als die Indys und bei IP*Works! kann man z.B. auch Windows-Authentifizierung am Exchange-Server super einfach nutzen.

Nachtrag: Ich glaube, die gab es auch schon bei XE2 Pro gratis dazu.

Geändert von Papaschlumpf73 ( 7. Dez 2016 um 16:44 Uhr)
  Mit Zitat antworten Zitat
Gerd01

Registriert seit: 18. Mär 2005
Ort: NRW
117 Beiträge
 
Delphi XE2 Professional
 
#7

AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

  Alt 7. Dez 2016, 17:57
IP-Works fängt mit $ 1,599 an als Singlelizenz. Bei cSharp und Mailkit gibts das alles kostenlos. SMime kann IP-Works meines Wissens nicht, Mailkit schon.
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
436 Beiträge
 
Delphi 12 Athens
 
#8

AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

  Alt 7. Dez 2016, 18:28
IP-Works fängt mit $ 1,599 an als Singlelizenz. Bei cSharp und Mailkit gibts das alles kostenlos. SMime kann IP-Works meines Wissens nicht, Mailkit schon.
Naja, die Delphi-Edition von IP*Works ist jedenfalls kostenfrei.
  Mit Zitat antworten Zitat
Benutzerbild von bytecook
bytecook

Registriert seit: 6. Aug 2010
Ort: Dornbirn
151 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

  Alt 8. Dez 2016, 10:09
Synapse?

Das wäre auch kostenfrei und vor allem sehr stabil.

http://www.ararat.cz/synapse/doku.php/public:howto

Ich setze Synapse in den unterschiedlichsten Bereichen sehr erfolgreich ein, war mir immer schon lieber als Indy.
Peter
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
970 Beiträge
 
Delphi 6 Professional
 
#10

AW: Ersatz von Indy mit Visual Studio 2015 und Mimekit/Mailkit

  Alt 8. Dez 2016, 14:08
Hmm..

.. am Rande:

Indy ließt nur RFC konforme .EML Dateien ein.
Leider halten sich u.A. Microsoft (Outlook) nicht an die RFC...

Beispiel:
Lt. RFC sollen Leerzeilen im Body mit '..' gespeichert werden. MS macht nur '.' (einen Punkt).

Oder es fehlt am Ende der Datei ein #13#10'.'#13#10..

Aufgrund dieser Fehler kann (oder will) Indy diese EML-Dateien nicht lesen..

Hierfür hatte ich mir für einen einfachen EML-Viewer eine Lade-Routine geschrieben, die diese Fehler vor dem Einlesen durch INDY beseitigt..
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz