Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Outlook steuern mit Delphi (https://www.delphipraxis.net/211852-outlook-steuern-mit-delphi.html)

wurzelsepp1 10. Nov 2022 13:24

Outlook steuern mit Delphi
 
Moin Gemeinde,

eine einfache Frage habe ich noch:

Ich möchte mehrere Mails mit Outlook senden und diese zu dem Zweck ordentlich in den Outlook-Postausgang legen.

Kenn ihr eine Lib, die die erforderlichen Funktionen bereits anbietet?

Erforderlich wäre ja der Abruf der eingerichteten Postfächer, deren Ordnerstruktur und natürlich die Übertragung der Nachricht in den richtigen Ordner des richtigen Postfachs.

Ich habe bisher nur ein Tool zu Steuerung der Online- (Cloud-) Version von Outlook gefunden.

Danke & einen schönen ..
Alex

Sinspin 10. Nov 2022 14:35

AW: Outlook steuern mit Delphi
 
Hallo,

das geht via Ole/ActiveX.

Ein schönes Beispiel findest du hier: how to send email in delphi

himitsu 10. Nov 2022 15:43

AW: Outlook steuern mit Delphi
 
Zitat:

Ich möchte mehrere Mails mit Outlook senden und diese zu dem Zweck ordentlich in den Outlook-Postausgang legen.
Wenn es nur darum geht.

* die MAPI (MailAPI)
* das
Delphi-Quellcode:
mailto:
Potokoll
* eine *.eml erstellen (geht mit Indy) und via ShellExecute mit dem Standardmail-Programm öffnen (wie im vorher verlinkten Beispiel mit TIdMessage erstellen aber dann das in einer Datei speichern)
* oder
* oder
* oder

wurzelsepp1 10. Nov 2022 20:03

AW: Outlook steuern mit Delphi
 
Zitat:

Zitat von himitsu (Beitrag 1514611)
* die MAPI (MailAPI)
* das
Delphi-Quellcode:
mailto:
Potokoll
* eine *.eml erstellen (geht mit Indy) und via ShellExecute mit dem Standardmail-Programm öffnen (wie im vorher verlinkten Beispiel mit TIdMessage erstellen aber dann das in einer Datei speichern)
* oder
* oder
* oder

Bitte nochmal die Frage lesen... damit geht natürlich nichts von dem Bechriebenen.

wurzelsepp1 10. Nov 2022 20:08

AW: Outlook steuern mit Delphi
 
Zitat:

Zitat von Sinspin (Beitrag 1514607)
Ein schönes Beispiel findest du hier: how to send email in delphi

Danke, das Beispiel zeigt, wie man eine Mail verschickt, imho aber nicht, wie man die installierten Postfächer aus Outlook liest und wie man die dann explizit ansteuert (also dort hineinschreibt oder auch liest).

Falls dir da noch ein Beispiel / Produkt einfällt, immer her damit. :)

VG

himitsu 10. Nov 2022 21:07

AW: Outlook steuern mit Delphi
 
Deine "eine" Frage war ja, wie man eine Mail verschickt und sie im Postausgang landet ... "all" das wird damit gelöst. :zwinker:

Auch für das Zusätzliche wurde auch bereits etwas erwähnt ... mit diesen Stichworten lassen sich Beispiele und sowas finden.
Zitat:

Zitat von Sinspin (Beitrag 1514607)
das geht via Ole/ActiveX.

https://www.swissdelphicenter.ch/de/showcode.php?id=364
https://www.delphi-treff.de/tipps-tr...ation-steuern/

Außerdem ist es niemandem verboten in den Demos und Quellcodes von Delphi rumzustöbern.
C:\Program Files (x86)\Embarcadero\Studio\22.0\OCX\Servers\Outlook2010.pas
Für Vieles liegt bereits eine TLB bei und falls nicht, dann siehe Komponente > Komponente importieren (habe hier kein Outlook installiert und finde nichts)

TigerLilly 11. Nov 2022 07:12

AW: Outlook steuern mit Delphi
 
Ich meine, mich erinnern zu können, dass das miot TurboPower OfficePartner geht.
https://sourceforge.net/projects/tpofficepartner/

Aber ich weiß nicht, ob das noch gepflegt wird und aktuell ist.

Sinspin 11. Nov 2022 07:19

AW: Outlook steuern mit Delphi
 
Zitat:

Zitat von wurzelsepp1 (Beitrag 1514623)
Danke, das Beispiel zeigt, wie man eine Mail verschickt, imho aber nicht, wie man die installierten Postfächer aus Outlook liest und wie man die dann explizit ansteuert (also dort hineinschreibt oder auch liest).

Falls dir da noch ein Beispiel / Produkt einfällt, immer her damit. :)

Nunja, Du bist hier in einem Programmiererforum. Es gibt zwar hin und wieder mal Leute die Langeweile haben und fertige Quelltexte posten. Aber im Regelfall geben wir hier Hilfe zur Selbsthilfe.
Mit den Informationen die ich dir gegeben habe bekommst Du das alles hin. Docu von MS lesen musst du dafür natürlich.

dstein 15. Nov 2022 15:32

AW: Outlook steuern mit Delphi
 
Ich hatte das damals mit SMExport und SMImport Suite gemacht.
http://www.scalabium.com

Bedenkt das Michael Shkolnik in Kiew (Ukraine) lebt.
Letzter Mailkontakt mit ihm hatte ich Anfang April.

det33 15. Nov 2022 20:13

AW: Outlook steuern mit Delphi
 
Zitat:

Zitat von wurzelsepp1 (Beitrag 1514623)
Zitat:

Zitat von Sinspin (Beitrag 1514607)
Ein schönes Beispiel findest du hier: how to send email in delphi

Danke, das Beispiel zeigt, wie man eine Mail verschickt, imho aber nicht, wie man die installierten Postfächer aus Outlook liest und wie man die dann explizit ansteuert (also dort hineinschreibt oder auch liest).

Falls dir da noch ein Beispiel / Produkt einfällt, immer her damit. :)

VG

Als Einstieg in Ole/ActiveX habe ich ein paar Codezeilen aus einem Projekt von mir beigefügt. Die procedure erstellt eine Übersicht über die Ordner von Outlook in einem TTreeview entsprechend dem OlItemType. Den Code habe ich mir auch aus verschiedenen Quellen im Netz zusammengestellt. Dort findest Du auch Beispiele zum Lesen und Schreiben von Mails.

Code:
uses Outlook2010, Vcl.ComCtrls;

type
  POutlookOrdnerEntryID = ^TOutlookOrdnerEntryID;
  TOutlookOrdnerEntryID = String;

procedure FormX.LeseOutlookOrdner(VonFolderID: OlItemType);
var OutlookApplication:    TOutlookApplication;
    FNameSpace:            NameSpace;

  procedure LoadFolder(ParentNode: TTreeNode; Folder: Folders);
  var
    i:   Integer;
    Node: TTreeNode;
    PID: POutlookOrdnerEntryID;
  begin
    for i:= 1 to Folder.Count do begin
      Node:= nil;
      if Folder.Item(i).Folders.Count > 0
        then begin
          if Folder.Item(i).DefaultItemType = VonFolderID then begin
            New(PID);
            PID^:= Folder.Item(i).EntryID;
          end
          else PID:= nil;
          Node:= OutlookOrdnerTree.Items.AddNode(nil, ParentNode, Folder.Item(i).Name, PID, naAddChild);
        end
        else if Folder.Item(i).DefaultItemType = VonFolderID
          then begin
            New(PID);
            PID^:= Folder.Item(i).EntryID;
            OutlookOrdnerTree.Items.AddNode(nil, ParentNode, Folder.Item(i).Name, PID, naAddChild);
          end;
      if Assigned(Node) then LoadFolder(Node, Folder.Item(i).Folders);
    end;
  end;

begin
  OutlookApplication:= nil;
  try
    try
      OutlookApplication:= TOutlookApplication.Create(self);
      OutlookOrdnerTree.Items.Clear;
      FNameSpace:= OutlookApplication.GetNameSpace('MAPI');
      FNameSpace.Logon('', '', false, false);
      LoadFolder(nil, FNameSpace.Folders);
    except
      on E: System.SysUtils.Exception do
        begin
          raise System.SysUtils.Exception.Create(Format(OutlookFehler1, [E.Message]));
        end;
    end;
  finally
    if Assigned(OutlookApplication) then OutlookApplication.Free;
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 Uhr.
Seite 1 von 2  1 2      

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