Einzelnen Beitrag anzeigen

Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#4

Re: E-Mail Body + Zeilenumbruch

  Alt 19. Jul 2003, 13:39
Hallo Albi,
die Sache mit ShellExecute habe ich ausprobiert und sie geht tatsächlich nicht. Ich könnte Dir die nachfolgende Lösung als Alternative bieten. Sie ist zwar aufwendiger, dafür aber auch wesentlich flexibler.
Delphi-Quellcode:
procedure TMainForm.SendenClick(Sender: TObject);
var
  MapiMessage: TMapiMessage;
  MapiRecipDesc: TMapiRecipDesc;
  MError: Cardinal;
begin
  FillChar(MapiRecipDesc, SizeOf(TMapiRecipDesc), 0);
  with MapiRecipDesc do
  begin
    ulReserved := 0;
    ulRecipClass := MAPI_TO;
    lpszName := 'ich@da.de';
    lpszAddress := nil;
    ulEIDSize := 0;
    lpEntryID := nil;
  end;

  FillChar(MapiMessage, SizeOf(TMapiMessage), 0);
  with MapiMessage do
  begin
    ulReserved := 0;
    lpszSubject := 'CRLF und seine Folgen';
    lpszNoteText := 'Bingo 1' + #$0D#$0A +
                    'Bingo 2' + #$0D#$0A +
                    'Bingo 3' + #$0D#$0A;
    lpszMessageType := nil;
    lpszDateReceived := nil;
    lpszConversationID := nil;
    flFlags := 0;
    lpOriginator := nil;
    nRecipCount := 1; // nRecipCount muß auf Anzahl der MapiRecipDesc gesetzt werden;
    lpRecips := @MapiRecipDesc; // lpRecips muß auf die Adresse MapiRecipDesc gesetzt werden;
    nFileCount := 0;
    lpFiles := nil;
  end;

  MError := MapiSendMail(0, Application.Handle, MapiMessage,
                         MAPI_DIALOG or MAPI_LOGON_UI or MAPI_NEW_SESSION, 0);
  if MError <> 0 then
  begin
    ShowMessageDlg('Fehler beim senden', mtError, [mbOK], 0);
  end;
end;
Vergeß aber nicht die Unit "Mapi" einzubinden.
bye
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat