Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi HTML-Email in Outlook versenden lassen (https://www.delphipraxis.net/65454-html-email-outlook-versenden-lassen.html)

torud 16. Mär 2006 17:34


HTML-Email in Outlook versenden lassen
 
Hallo Wissende,

das man mit folgendem Code eine Mail an Outlook übergeben kann, ist klar:

Delphi-Quellcode:
uses
  ShellApi;


procedure TForm1.Button1Click(Sender: TObject);
var
  strEmail, strSubject, strBody, Param: string;
begin
  strEmail := 'user@host.com';
  strSubject := 'Your Subject';
  strBody := 'Your Message Text';

  Param := 'mailto:' + strEmail + '?subject=' + strSubject +
           '&Body=' + strBody;

  ShellExecute(Form1.Handle, 'open', PChar(Param), nil, nil, SW_SHOWNORMAL);
end;
Aber wie gehe ich vor, wenn ich eine HTML-Email an Outlook übergeben will. Was erwartet Outlook da? Kann ich da einfach ne HTML-Seite per Code in den Body schreiben? Das dürfte doch sicher nicht reichen, wenn Outlook standardmässig auf Textmails eingestellt ist. Oder?

//Nachtrag
Ich habe mal zu dem Thema gegooglet und auch hier die Suche bedient, aber es findet sich nichts brauchbares. Bei DelphiSwissCenter gab was ganz dolles, was nicht funzte und auch auf anderen Seiten taucht die Frage immer wieder auf, ohne Antwort zu finden. Bitte alles ohne INDY oder FastNet.

Den einzigen Codeschnipsel den ich fand, war dieser hier:
Delphi-Quellcode:
  //aber schon hier meldet sich meckernderweise der compiler
  //klasse nicht registriert
  Outlook := CreateOleObject('Outlook.Application');

  miMail := Outlook.CreateItem(olMailItem);
  miMail.Recipients.Add('billy@boy.com');
  miMail.Subject := 'Hello Bill';

  // use this to send a plain text email (all versions of Outlook)
  miMail.Body := 'Attached is the list of email addresses.';

  // alternatively send an HTML email (not in Outlook 97)
  miMail.HTMLBody := '<font color=red>Attached is the [b]list of email[/b] addresses.</font>';

  //miMail.Attachments.Add('C:\temp\list.txt', EmptyParam, EmptyParam, EmptyParam);
  miMail.Send;
//Edit #2
Nachdem ich nun über 4 Stunden im Internet gesucht und gegooglet habe und NICHTS brauchbares zu diesem Thema finden konnte, gebe ich, zumindest für heute, auf.

torud 21. Mär 2006 19:29

Re: HTML-Email in Outlook versenden lassen
 
*push*

Hat denn wirklich keiner eine Idee? Ich kann nichts zu diesem Thema im WWW finden. Warum nur? Ist es zu banal oder geht es einfach nicht?

ErazerZ 21. Mär 2006 19:49

Re: HTML-Email in Outlook versenden lassen
 
dein code sollte ja funktionieren, mach a mal "uses CommObj" und "var Outlook, miMail, olMailItem: OleVariant;" - also es funktioniert so bei mir

torud 21. Mär 2006 20:00

Re: HTML-Email in Outlook versenden lassen
 
Danke für den Tipp, aber leider findet mein Compiler keine CommObj.dcu

Und nach dem Compilieren mit der ComObj erscheint beim Betätigen des Buttons folgendes:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt test.exe ist eine Exception der Klasse EOleSysError aufgetreten. Meldung: 'Klasse nicht registriert'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------

Ich bin so was von ratlos und langsam am Verzweifeln...

ErazerZ 21. Mär 2006 20:06

Re: HTML-Email in Outlook versenden lassen
 
ja das mit ComObj war ein tipp fehler :P
aber warum es net funkt weiß ich nicht, ich hab hier Office 2003 installiert, Outlook ist nicht der Standart mail client, ich muss bloß bestätigen ob ich die mail senden will ..
ahja problem ist auch das jeder (mit der funktion) Outlook installiert haben muss .. ansonsten funkt es net

torud 21. Mär 2006 20:09

Re: HTML-Email in Outlook versenden lassen
 
na ich habe doch hier Outlook auf dem Rechner. Es sollte doch zumindest bei mir laufen!? Ich habe Outlook 2000 und nix Express! Kannst Du mal Deinen gesamten Code posten? Das muss doch gehen. Liegts vielleicht an meinem Win98? Heute ist einfach nicht mein Tag...

torud 22. Mär 2006 09:09

Re: HTML-Email in Outlook versenden lassen
 
ungetestet aber nicht ganz hoffnungslos sende ich mal die URL einer Seite, die ich gefunden habe und welche mich wieder etwas optimistischer stimmt:

Deborahs Page


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