Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Mehrere Dateien an Outlook übergeben? (Komandozeile) (https://www.delphipraxis.net/122444-mehrere-dateien-outlook-uebergeben-komandozeile.html)

kaiser1401 16. Okt 2008 08:41


Mehrere Dateien an Outlook übergeben? (Komandozeile)
 
Hallo,

ich habe das Problem mehrere Dateien mit Outlook verschicken zu müssen. Der Benutzer wählt in meiner Anwendung mehrere Dateien aus. Und es soll sich ein Fenster öffnen wie bei einer neuen E-Mail das die Anhänge bereits enthält.

Über die MAPI lässt sich das alles fast wunderbar realisieren, aber leider nur fast.

Über die Mapi gibt es nämlich das Problem, dass das "Neue Mail" Fenster dann Modal angezeigt wird und keine Signatur enthält.

Es gibt einen Kommandozeilenaufruf für Outlook der ein Fenster erzeugt das nicht Modal ist (also so wie wenn man auf neue Mail klickt) und die Signatur enthält. Ich kann diesem auch mittlerweile einen Anhang übergeben:

Code:
OUTLOOK.EXE /c ipm.note /a "c:\label03.bmp"
Weiß jemand ob es eine Möglichkeit gibt mehrere Dateien in diese Mail mit zu Übergeben?

(folgende aufrufe funktionieren nicht)
Code:
OUTLOOK.EXE /c ipm.note /a "c:\label02.bmp" "c:\label03.bmp"

OUTLOOK.EXE /c ipm.note /a "c:\label02.bmp" /a "c:\label03.bmp"

OUTLOOK.EXE /c ipm.note /a "c:\label02.bmp" /c ipm.note /a "c:\label03.bmp"
Besten Dank schonmal

-Kaiser

rweinzierl 16. Okt 2008 09:45

Re: Mehrere Dateien an Outlook übergeben? (Komandozeile)
 
Hallo

Warum packst du die Dateien nicht einfach in eine Zip Datei ?


mfg

Reinhold

kaiser1401 16. Okt 2008 10:09

Re: Mehrere Dateien an Outlook übergeben? (Komandozeile)
 
Das ist nicht das was der Kunde möchte ... :-/

angos 16. Okt 2008 10:27

Re: Mehrere Dateien an Outlook übergeben? (Komandozeile)
 
kann es gerade nicht testen, aber versuche mal
Zitat:

OUTLOOK.EXE /c ipm.note /a "c:\label02.bmp;c:\label03.bmp"
oder
Zitat:

OUTLOOK.EXE /c ipm.note /a "c:\label02.bmp,c:\label03.bmp"

HTH

kaiser1401 16. Okt 2008 11:34

Re: Mehrere Dateien an Outlook übergeben? (Komandozeile)
 
"Datei- Oder Ordnername ist ungültig"

Einen Ordner kann ich übrigens auch nicht angeben (Hatte ich aufgrund der Meldung jetzt Mal ausprobiert)

iKilledKenny 16. Okt 2008 12:16

Re: Mehrere Dateien an Outlook übergeben? (Komandozeile)
 
Soweit ich weiß, gehen mehrere Anhänge nur über Automation, nicht über CommandLine.

kaiser1401 16. Okt 2008 12:32

Re: Mehrere Dateien an Outlook übergeben? (Komandozeile)
 
Automation? in wie fern?


Alternativ kommt mir grad folgende Idee:

Kann ich nachdem ich den ersten Anhang über die Komandozeile eingehangen hab über die Oberfläche weitere hinzufügen (nicht manuell!)? Wenn ja, wie würde das gehen? woher weiß ich welches Fenster ich nemen muss? Was für Befehle muss ich senden, und wie?

iKilledKenny 16. Okt 2008 12:49

Re: Mehrere Dateien an Outlook übergeben? (Komandozeile)
 
Delphi-Quellcode:
var
  MI     : Variant;
  Outlook : OleVariant;
begin
  Outlook := CreateOleObject('Outlook.Application');
  MI := Outlook.CreateItem(0);
  MI.Recipients.Add('test@example.com');
  MI.Subject := 'Test Subject';
  MI.Body := 'test message text';
  MI.Attachments.Add('d:\temp\test1.xls');
  MI.Attachments.Add('d:\temp\test2.xls');
  MI.Send;
end;
Z.B. so

[edit=r_kerber]Auf Wunsch des Verfassers geändert. Mfg, r_kerber[/edit]

kaiser1401 16. Okt 2008 13:07

Re: Mehrere Dateien an Outlook übergeben? (Komandozeile)
 
mh, So bekomme ich zwar eine E-Mail mit mehreren anhängen raus, aber folgende Dinge stören mich:
  • Gibt es eine Möglichkeit das "neue E-Mail" Fenster mit den Werten anzuzeigen? Der Benutzer soll erst da im Outlook den Empfänger und möglicherweise zusätzlichen Text eingeben.
  • Die Warnmeldungen kann ich ncith gebrauchen.
  • Ich habe keine Signatur in der E-Mail

Da war die Lösung über die Mapi die ich bisher habe besser

kaiser1401 16. Okt 2008 13:13

Re: Mehrere Dateien an Outlook übergeben? (Komandozeile)
 
Ok, ich glaub ich habs:

Delphi-Quellcode:
  MI := Outlook.CreateItem(0);
  MI.Attachments.Add('c:\label02.bmp');
  MI.Attachments.Add('c:\label03.bmp');
  mi.display;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:27 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