Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Email versenden mit Outlook Online bzw. Outlook Hybrid (https://www.delphipraxis.net/215095-email-versenden-mit-outlook-online-bzw-outlook-hybrid.html)

rdeutsch 8. Mai 2024 08:31

Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Guten Tag

Bis anhin nutzt unsere Delphi-Applikation für das Erstellen und Versenden von Emails die MAPI-Schnittstelle. Für dies verwenden wir die MAPI-Komponenten von EasyMAPI.
Nun möchte unser Kunde auf M365 Outlook Online bzw. Outlook Hybrid umstellen. Leider klappt es mit dem Erstellen/Versenden der Emails via MAPI nicht mehr, da die neuen Online-Outlook-Versionen kein MAPI mehr unterstützen.

Welche Möglichkeit gibt es Emails mit M365 Outlook Online/Hybrid über eine Delphi-Applikation zu erstellen?

Danke und beste Grüsse,
Robert

Papaschlumpf73 8. Mai 2024 08:49

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Wir benutzen dafür den SMTP-Client von ip*works (gratis bei Getit) und senden die E-Mails damit direkt an den MS-Email-Server.

rdeutsch 8. Mai 2024 08:53

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Kann bei Verwendung des SMTP-Clients die Email vor dem Versenden auch in Outlook angezeigt werden?

Unsere Applikation erstellt die Emails und zeigt sie danach dem Anwender zur allfälligen Kontrolle bzw. für die weitere Verarbeitung wie z.B. Ergänzungen an.

hhcm 8. Mai 2024 09:44

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Es gibt "MAPI über http"

Papaschlumpf73 8. Mai 2024 09:50

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Zitat:

Zitat von rdeutsch (Beitrag 1536471)
Kann bei Verwendung des SMTP-Clients die Email vor dem Versenden auch in Outlook angezeigt werden?

Unsere Applikation erstellt die Emails und zeigt sie danach dem Anwender zur allfälligen Kontrolle bzw. für die weitere Verarbeitung wie z.B. Ergänzungen an.

Nein. Beim SMTP-Versand wird die E-Mail direkt von der Delphi-Anw. an den SMTP-Server gesendet; also nicht über Outlook. Man müsste dann einen eigenen Texteditor zur Anzeige verwenden, bevor die Nachricht an den Server gesendet wird. Ein lokal installiertes Outlook könnte man auch über OLE-Automatisierung steuern - das geht aber nicht mit der Online-Version im Browser.

himitsu 8. Mai 2024 14:35

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Jupp, MAPI/HTTP
https://learn.microsoft.com/de-de/ex...mapi-over-http

Das alte MAPI/RPC ist beim MS-Office ausgelaufen. Anfangs gab es dafür noch eine lokale Implementation für das Webzeugs.

rdeutsch 8. Mai 2024 14:43

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Hallo zusammen

Vielen Dank für die bisherigen Antworten. Werde mir über ip*works und "MAPI over HTTP" näher anschauen.

Beste Grüsse,
Robert

Achim Kalwa 8. Mai 2024 15:02

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Zitat:

Zitat von rdeutsch (Beitrag 1536469)
Nun möchte unser Kunde auf M365 Outlook Online bzw. Outlook Hybrid umstellen. Leider klappt es mit dem Erstellen/Versenden der Emails via MAPI nicht mehr, da die neuen Online-Outlook-Versionen kein MAPI mehr unterstützen.

Welche Möglichkeit gibt es Emails mit M365 Outlook Online/Hybrid über eine Delphi-Applikation zu erstellen?

Genau dieses Thema ist bei uns auch gerade aktuell. Die ersten Kunden haben vom lokal installierten "echten" Outlook auf das "neue Outlook" umgestellt. MAPI und OLE funktionieren jetzt nicht mehr; nur das "mailto:"-Protokoll scheint noch zu funkionieren. Nur kann man damit leider keine Attachments übergeben (z.B. PDF-Dateien); und "schön formatierte" (HTML-) EMails sind per "mailto:" auch nicht drin.

himitsu 8. Mai 2024 17:11

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Wir erstellen inzwischen mit Indy eine .eml und lassen sie mit ShellExecute öffnen.
Weiß aber nicht, ob es mit Office 365 noch funktioniert, aber geht von der Registrierung in die Richtung, wie beim mailto.

Für MS-Office mit Anhängen zickte es immer schon rum und als wir dann auch noch Formatierungen brauchten .........

Es gibt eine nette API für Outlook, aber nur im .NET, drum gibt/gab es eine kleine .NET-ConsolenApp, welche wir per Parameter starteten und ihr das Gewünschte mitgaben, was sie dann weiterreichte.


Direkt über MAPI/SMTP senden geht, aber einige Firmen haben einen Outlookserver, der alle Mails log, was aber nur richtig funktioniert, wenn es auch über Outlook gesendet wird (vor allem, wenn nicht für Jeden der Mailzugang im Programm hinterlegt sein soll),
drum sind wir da gezwungen es irgendwie an Outlook zu übergeben.

sh17 15. Mai 2024 06:52

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Hast Du evtl. etwas Code dieser .NET-ConsolenApp? Oder ist das nicht möglich?

himitsu 15. Mai 2024 10:44

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ne alte Version auf die Schnelle gefunden.
Kann aber nicht viel zu sagen. (war damals ein jetzt ehemaliger Kollege)
Im Kommentar steht:
Code:
OfficeAdapter.exe
  /mail /to=service@example.de /bcc=mail1@example.de /cc=mail2@example.de
  /cc=mail3@example.de /head="Titel" /body="Nachrichtentext ... "
  /file="C:\Test1.txt" /file="C:\Test2.pdf" ...
Wir verwenden auch nur das TO (k.A. ob BCC und CC funktionieren).

Wir nutzen eine Klasse, welche alle Texte und Dateien bekommt und dann, je nach Setting, irgendwas zum Senden nutzt.
So gibt es hier auch noch einen Code, welcher so mal vor vielen vielen Jahren aus Eurekalog kopiert wurde.
MSDN-Library durchsuchenMAPISendMail aus der mapi32.dll (im DLLPath in HKCU und HKLM unter SOFTWARE\Clients\Mail gesucht)

Und, wie gesagt, nutzen wir aktuell vorwiegend eine *.EML, wo per Hand über eine StringList ein HTML zusammengeklöppelt wird, dass dann mit den Dateianhängen als multipart/mixed über ein TIdMessage zusammengeführt, SaveToFile und via ShellExecute im Standard-Mailprogramm geöffnet.
Wichtig: Im Header muß
Delphi-Quellcode:
X-Unsent: 1
stehen, damit Outlook es auch zum Versenden lädt und nicht bloß anzeigt.

sh17 15. Mai 2024 10:52

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Dankeschön, schau ich mir an

himitsu 15. Mai 2024 11:12

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Wir hab sogar einen Automatik-Modus (der aber eigentlich kaum noch genutzt wird),
quasi mit folgenden Settings:
* per EML
* per MAPI
* per OfficeAdapter
* MAPI und wenn nicht OfficeAdapter
* OfficeAdapter und wenn nicht MAPI

Leider ging das mit der Automatik auch nicht immer, denn sowohl MAPISendMail als auch die .NET-API
behaupten manchmal es ging nicht, obwohl es erfolgreich versendet wurde,
aber auch es ging, obwohl nichts gesendet wurde.
Also entweder wurde das MailProgramm dann doppelt geöffnet oder garnicht. :freak:

sh17 15. Mai 2024 11:43

AW: Email versenden mit Outlook Online bzw. Outlook Hybrid
 
Wenn man darüber nachdenkt, eigentlich totaler Irrsinn, seit Urzeiten gibt es E-Mail und E-Mail-Clients und seit dem gibt es immer
noch nichts wirklich einheitliches. E-Mails zu versenden ist ja eine grundlegende Aufgabe, die in jeder Software benötigt wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz