Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi MapiMessage: Empfänger übergeben (mit string)? (https://www.delphipraxis.net/66094-mapimessage-empfaenger-uebergeben-mit-string.html)

Loki77 24. Mär 2006 16:19


MapiMessage: Empfänger übergeben (mit string)?
 
Hallo!
Bekomme es einfach nicht hin, via MapiMessage die Nachricht an mehrere Empfänger zu senden...
Kann mir jemand sagen wo und wie ich im Quelltext die Empfänger (am besten mit string-variable?!)
übergebe??
Schaff es nicht.... :gruebel:
Delphi-Quellcode:
procedure TForm4.SpeedButton1Click(Sender: TObject);
var
  MapiMessage: TMapiMessage;
  MError: Cardinal;
begin
  case Application.MessageBox('Send Text as electronic Mail?', 'Send?',
                              MB_YESNOCANCEL or MB_ICONQUESTION) of
    IDNO : abort;
    IDCANCEL : abort;
    IDYES :

  with MapiMessage do
  begin

    ulReserved := 0;
    lpszNoteText := PChar(memMail.Lines.Text);
    lpszMessageType := nil;
    lpszDateReceived := nil;
    lpszConversationID := nil;
    flFlags := 0;
    lpOriginator := nil;
    nRecipCount := 0;
    nFileCount := 0;
    lpFiles := nil;
  end;
end;
  MError := MapiSendMail(0, Application.Handle, MapiMessage,
    MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0);
  if MError <> 0 then MessageDlg(SSendError, mtError, [mbOK], 0);
end;
Vielen Dank, Philipp

shmia 24. Mär 2006 16:47

Re: MapiMessage: Empfänger übergeben (mit string)?
 
Dieses ganze Zeug mit MapiMessage, MapiSendMail, u.s.w. ist Low-Level Programmierung.
Buttons auf einem Formular und der Eventhandler ist High-Level Programmierung.
Man braucht beide Ebenen und keine davon ist "besser" oder "schlechter" als die andere.

Man darf High- und Low-Level Programmierung aber nicht ohne "Klebstoff" direkt miteinander in Verbindung bringen.
Der Klebstoff ist eine MAPI-Klasse (oder Komponente).
Damit geht es ganz einfach:
Delphi-Quellcode:
var
   email : TJclEmail;
begin
   email := TJclEmail.Create;
   email.Subject := 'Testmail';
   email.Recipients.Add('mail@aol.com','');
   email.Recipients.Add('mail2006@aol.com','');
   email.Attachments.Add('logdatei.txt');
   email.Body := 'das ist der Text';
   email.Send(True);
   email.free;
end;
Ich empfehle da immer die JCL: http://sourceforge.net/projects/jcl

Loki77 24. Mär 2006 16:56

Re: MapiMessage: Empfänger übergeben (mit string)?
 
Danke, werd´mich die nächsten Tage mal damit beschäftigen....
Dachte nicht dass es so schwierig wird...
Gruss, Philipp

shmia 24. Mär 2006 17:04

Re: MapiMessage: Empfänger übergeben (mit string)?
 
Du kannst auch das Programm MapiSendMail.exe benützen.
http://www.delphipraxis.net/internal...ct.php?t=78140
Du schreibst eine Steuerdatei (mit TstringList) mit deiner EMail auf die Platte
und rufst danach mit ShellExec() das Programm auf.

Das geht sehr einfach und hat den Vorteil, dass du die Steuerdateien sammeln kannst
und später von einem anderen Rechner wegmailen kannst.


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