Einzelnen Beitrag anzeigen

Steffen0917

Registriert seit: 20. Jun 2005
64 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Probleme mit email mittels ShellExecute (mailto....)

  Alt 6. Jan 2006, 21:02
So, das ist die Lösung, mit der ein mail auch grösser als 2000 Zeichen sein kann, wenn man es an das Standard-mailprogramm übergibt.

Nur - weiss jemand, wie ich das auf "maximiert" stelle ??? Bei mir geht immer nur ein kleines Fenster auf...


Delphi-Quellcode:
procedure TForm1.SendMail(adresse, betreff, mailtext : string);
var
  MapiMessage: TMapiMessage;
  MapiRecipDesc: TMapiRecipDesc;
  MError: Cardinal;
begin
  FillChar(MapiRecipDesc, SizeOf(TMapiRecipDesc), 0);
  with MapiRecipDesc do
  begin
    ulReserved := 0;
    ulRecipClass := MAPI_TO;
    lpszName := PChar(adresse); // Adresse
    lpszAddress := nil;
    ulEIDSize := 0;
    lpEntryID := nil;
  end;

  FillChar(MapiMessage, SizeOf(TMapiMessage), 0);
  with MapiMessage do
  begin
    ulReserved := 0;
    lpszSubject := PChar(betreff); // Betreff des mails
// lpszSubject := nil;
    lpszNoteText := PChar(mailtext); // Text des mails (body)
// lpszNoteText := nil;
    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
    MessageDlg('Nachricht wurde nicht gesendet...', mtError, [mbOK], 0);
  end;
end;
[edit=Luckie]Delphi-Tags. Mfg, Luckie[/edit]
Steffen
  Mit Zitat antworten Zitat