Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Email mit Anhang über ShellExecute erstellen (https://www.delphipraxis.net/23762-email-mit-anhang-ueber-shellexecute-erstellen.html)

SiD 9. Jun 2004 09:09


Email mit Anhang über ShellExecute erstellen
 
Moin Leute,

kann mir einer sagen warum ich über den Befehl ShellExecute keine Anhänge mit Outlook 2003 verschicken kann.
Wenn ich
Delphi-Quellcode:
&file="c:\test.txt"
rausnehme, dann funzt es. Kann mir da einer helfen, oder eine Andere Möglichkeit nennen wie ich ein E-Mail Nachrichtenfenster öffne und ein Anhang automatisch einfüge??


Beispiel:
Delphi-Quellcode:
var
  pCh: PChar;
begin
  pCh := 'mailto:email@adresse.de?subject=Test&body=Test eMail&file="c:\test.txt"';
  ShellExecute(0, 'open', pCh, nil, nil, SW_SHOWNORMAL);
end;
Danke im Voraus!!

Steve 9. Jun 2004 09:27

Re: Email mit Anhang über ShellExecute erstellen
 
Moin, versuch's mal damit:
Delphi-Quellcode:
...&Attach="c:\test.txt"
Funzt zwar nicht unter OE, aber unter Outlook müssts gehn.. hoff ich :zwinker:

Gruß
Stephan

SiD 9. Jun 2004 09:41

Re: Email mit Anhang über ShellExecute erstellen
 
nee, klappt leider nicht. Outlook meldet

"Das Befehlszeilenargument in ungültig. Überprüfen sie den verwendeten Befehl" :(

Steve 9. Jun 2004 09:49

Re: Email mit Anhang über ShellExecute erstellen
 
siehe auch http://www.delphipraxis.net/internal...ect.php?t=7609 :mrgreen:
Habs nur überflogen, aber da gibts wohl ne Lösung zu..

Viel Erfolg :wink:

Gruß
Stephan

SiD 9. Jun 2004 10:10

Re: Email mit Anhang über ShellExecute erstellen
 
Danke Stephan für die schnelle Antwort!
Also
Delphi-Quellcode:
 &Attachment="C:\test.txt"
klappt auch nicht,
und die andere möglichkeit verschickt sofort die mail. Das möchte ich aber nicht.

Vielleich hat einer von Euch noch ein Tipp?

Gruß
Sid

shmia 9. Jun 2004 11:00

Re: Email mit Anhang über ShellExecute erstellen
 
Zitat:

Zitat von SiD
kann mir einer sagen warum ich über den Befehl ShellExecute keine Anhänge mit Outlook 2003 verschicken kann.

Meines Wissens nach kann man über ShellExecute keine Anhänge verschicken. (Weder mit mit Outlook, noch mit Outlook Express).
Um vernünftig E-Mails zu verschicken gibt es 3 Wege:
- alles selber machen mit Indy (oder ähnliche) Komponenten
- Automatisierung von Outlook
- Verwendung der (SIMPLE-) MAPI Schnittstelle

Ich dir die MAPI-Schnittstelle empfehlen:
- geringer Aufwand, da der EMail-Client die meiste Arbeit übernimmt (z.B. Preview der EMail)
- EMail-Client ist der Container für die Zugangsdaten (SMTP-Server, User, PW)
- EMail-Client speichert die gesendeten EMails ("gesendete Objekte"); bei Problemen kann von Hand erneut gesendet werden.

SiD 9. Jun 2004 19:58

Re: Email mit Anhang über ShellExecute erstellen
 
Hi Shima,

hättest Du vielleich ein Beispiel für mich, wie ich eine Mail über MAPI erstellen kann und mir erst ein preview der mail anzeigen lassen kann. Bis jetzt habe ich nur Beispiele gefunde wo die Mail gleich verschickt wird, das währe sehrrrrr netttt :lol:


Gruß Sid

SiD 11. Jun 2004 14:49

Re: Email mit Anhang über ShellExecute erstellen
 
Hallo Leute,

jetzt habe ich es doch noch im Forum gefunden

Delphi-Quellcode:
procedure TForm1.Button9Click(Sender: TObject);
var
  s: String;
begin
s := 'mailto:irgendwer@blubb.de?Subject=Thanks&Body=hallo&Attach=""C:\boot.ini""';
ShellExecute(handle, 'open', PChar(s), nil, nil, SW_SHOWNORMAL);
end;

Gruß
Sid

shmia 14. Jun 2004 09:18

Re: Email mit Anhang über ShellExecute erstellen
 
Zitat:

Zitat von SiD
hättest Du vielleich ein Beispiel für mich, wie ich eine Mail über MAPI erstellen kann und mir erst ein preview der mail anzeigen lassen kann. Bis jetzt habe ich nur Beispiele gefunde wo die Mail gleich verschickt wird, das währe sehrrrrr netttt

Klar. :mrgreen:
In der Jedi Code Library(JCL) ist ein Beispielprogramm MapiExample.dpr enthalten.
Das Preview wird durch die Option "Show Dialog" aktiviert.
Delphi-Quellcode:
    function Send(ShowDialog: Boolean = True): Boolean;


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