Outlook - eMail mit Anhang erstellen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Joh
Lazarusforum e. V.
Beiträge: 288
Registriert: Sa 26. Mai 2012, 17:31
OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
CPU-Target: 64Bit

Outlook - eMail mit Anhang erstellen

Beitrag von Joh »

Moin,
jetzt hat mich das ZugFerd doch voll erwischt.
Ich muß für einen Kunden nicht nur die Rechnungen per eMail versenden, sondern am Besten per OLE Automation oder wie das heutzutage unter Windows heißt, direkt per Outlook versenden.

Da gibts doch bestimmt was fertiges, wie ich (unter Windows) eine Outlook-eMail erstelle und versende?!


da fällt mir ein: wenn ich per Synapse-Funktion

Code: Alles auswählen

SendToRaw()
eine eMail versende, warum erscheint die eigentlich nicht im IMAP unter gesendet?
Eigentlich müsste das doch auch reichen. Ich glaube zwar, das die noch pop3 nutzen, aber irgend was ist ja immer...
just my two Beer

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6848
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Outlook - eMail mit Anhang erstellen

Beitrag von af0815 »

Joh hat geschrieben: Mi 27. Nov 2024, 00:08 da fällt mir ein: wenn ich per Synapse-Funktion

Code: Alles auswählen

SendToRaw()
eine eMail versende, warum erscheint die eigentlich nicht im IMAP unter gesendet?
Eigentlich müsste das doch auch reichen. Ich glaube zwar, das die noch pop3 nutzen, aber irgend was ist ja immer...
Ganz einfach, eine Mail wird per SMTP versendet und dann vom Mailprogram im IMAP hinterlegt. SMTP und IMAP haben so gesehen komplett andere Aufgaben. IMAP ist die Verwaltung der Mails am Server zuständig, aber nicht für den Versand.

Man hat diese Aufgaben früher recht gut gesehen, wenn man unter Linux einen kompletten Mailserver selbst erstellt bzw. verwaltet hat. Da hast du oft mit drei möglichen Teilen (SMTP, POP, IMAP) eines Mailservers direkt Kontakt gehabt und auch überlegen müssen, wie der Mailfluss ist.

Siehe auch die Erklärung hier https://de.siteground.com/tutorials/ema ... smtp-imap/

Bezüglich Outlook-OLE: Microsoft ist (wiedermal) dabei Outlook zu ändern und (zwangsweise) in die Cloud zu verlegen. Das macht die Sache nicht einfacher. Zugriff hat(te) man meist über die MAPI-API von MS https://learn.microsoft.com/de-de/offic ... -reference . Aktuell dürfte es in Richtung OUTLOOK-REST-API gehen. https://learn.microsoft.com/de-de/outlook/rest/
Ich habe vor Jahren mich damit gespielt und zu dem Schluss gekommen, das es einfacher (und stabiler ist) direkt über einem SMTP zu versenden. Das habe ich aber auch nicht in Pascal gemacht, sondern über Scripts die über die Konsole aufgerufen werden, weil mittlerweile ist es gar nicht mehr so einfach etwas zu versenden, weil die SMTP Zugänge und Absenderprüfungen der Mailserver es echt schwer machen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Joh
Lazarusforum e. V.
Beiträge: 288
Registriert: Sa 26. Mai 2012, 17:31
OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
CPU-Target: 64Bit

Re: Outlook - eMail mit Anhang erstellen

Beitrag von Joh »

af0815 hat geschrieben: Mi 27. Nov 2024, 05:36 Ganz einfach, eine Mail wird per SMTP versendet und dann vom Mailprogram im IMAP hinterlegt. SMTP und IMAP haben so gesehen komplett andere Aufgaben. IMAP ist die Verwaltung der Mails am Server zuständig, aber nicht für den Versand.
Ja, das mit der Serveraufteilung ist mir grundsätzlich schon klar...
Aber was machen Standard-Mailprogramme dabei? Wird die identische Mail ein zweites Mal gespeichert?
Ich hatte das Erstellen der Kopie in den Gesendet-Ordner bisher für eine Serverseitige Sache gehalten.

OK, unter Thunderbird heißt es dann aber:

Code: Alles auswählen

Beim Senden von Nachrichten automatisch
... eine Kopie speichern unter:
Also scheint das ganze dann doch eine Clientseitige Lösung zu sein.
Also müsste es doch mMn quasi bei Synapse eine Möglichkeit geben, eine IMAP-Kopie zu erstellen.
just my two Beer

Joh
Lazarusforum e. V.
Beiträge: 288
Registriert: Sa 26. Mai 2012, 17:31
OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
CPU-Target: 64Bit

Re: Outlook - eMail mit Anhang erstellen

Beitrag von Joh »

af0815 hat geschrieben: Mi 27. Nov 2024, 05:36 Bezüglich Outlook-OLE: Microsoft ist (wiedermal) dabei Outlook zu ändern und (zwangsweise) in die Cloud zu verlegen. Das macht die Sache nicht einfacher. Zugriff hat(te) man meist über die MAPI-API von MS https://learn.microsoft.com/de-de/offic ... -reference . Aktuell dürfte es in Richtung OUTLOOK-REST-API gehen. https://learn.microsoft.com/de-de/outlook/rest/
War ja klar, das Microsoft auch da auf eine Cloud-Lösung mit Exchange setzt...

ok, also muß ich dann trotzdem auf das halbtote Pferd MAPI setzen, wenn die Kunden Outlook als POP/IMAP-Client einsetzen.

Laut der verlinkten Microsoft-MAPI-Referenz gilt diese
Gilt für: Outlook 2013 | Outlook 2016
für ältere Outlook-Versionen, kann also / muß aber nicht weiterhin funktionieren?
just my two Beer

Soner
Beiträge: 734
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Outlook - eMail mit Anhang erstellen

Beitrag von Soner »

Die Kopie in gesendeter E-Mails-Ordner muss man selber hinlegen mit Imap. Ich habe mich darüber auch gewundert.
Ich habe damals TIdIMAP4 von Indy untersucht, damit konnte ich Ordnerstrukturen und Nachrichten holen. Dann habe ich es Serverseitig gelöst, in dem ich ein Regel angelegt habe, dass die gesendeten E-Mails automatisch in den "Gesendete"-Ordner kopiert wurde.

Falls du MAPI verwenden möchtest dann schau mein Beitrag hier

Joh
Lazarusforum e. V.
Beiträge: 288
Registriert: Sa 26. Mai 2012, 17:31
OS, Lazarus, FPC: Win 10 (L 2.2.6 x64 FPC 3.2.2)
CPU-Target: 64Bit

Re: Outlook - eMail mit Anhang erstellen

Beitrag von Joh »

Danke,
komme ich eventuell drauf zurück...

Mir persönlich gefällt gerade eine andere Lösung fast besser: Ich erzeuge mit Synapse eine eMail und speichere diese als .eml-Datei. Mit dem zusätzlichen Header

Code: Alles auswählen

X-Unsent: 1
versehen, wird diese Datei dann per OpenDocument() geöffnet und als neue eMail erkannt.
So versendet man die Rechnung mit Lieblings-MTA...
Scheint mit Outlook und Thunderbird zu funktionieren.

Was mir an der halben Synapse-Lösung gefällt, ist, das ich mich nicht um die Multipart, Base64 etc kümmern muß, sondern Synapse mir diesen Teil der Arbeit abnimmt. Und der Anwender ist Herr über seine versandten eMails und kann bei bestimmte Kunden Texte anpassen etc...

Aber das muß erst noch mit meinem Kunden geklärt werden.
just my two Beer

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2822
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Outlook - eMail mit Anhang erstellen

Beitrag von m.fuchs »

Joh hat geschrieben: Mi 27. Nov 2024, 22:44 Mir persönlich gefällt gerade eine andere Lösung fast besser: Ich erzeuge mit Synapse eine eMail und speichere diese als .eml-Datei. Mit dem zusätzlichen Header

Code: Alles auswählen

X-Unsent: 1
versehen, wird diese Datei dann per OpenDocument() geöffnet und als neue eMail erkannt.
So versendet man die Rechnung mit Lieblings-MTA...
Scheint mit Outlook und Thunderbird zu funktionieren.
Oh danke, diese Variante kannte ich noch nicht. MTA-unabhängig ist immer sehr gut.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Antworten