![]() |
Probleme mit email mittels ShellExecute (mailto....)
Hallo zusammen,
ich weiß, dieses Thema ist gar nicht neu, aber ich habe jetzt die bis jetzt vorgestellten Lösungen probiert und bin nicht zufrieden: Aufgabe: email nur mit Recipients + subject + Body kein Attachment Das ganze soll an das Standard-emailprogramm übertragen werden, um es von dort zu senden Der Body hat aber mehr als 2000 Zeichen ! 1. Lösung mit ShellExecute (mailto....) funktioniert prima, aber wenn Body > 2000 Zeichen geht gar nix mehr 2. Lösung mit MAPI: hat gestern genau 1 mal funktioniert, jetzt bekomme ich immer "unbekannter Fehler" (MAPI_E_FAILURE = 2) Bis jetzt nehm ich die Lösung 1, schieb den langen Text vorher mit 'Clipboard.AsText:=text' in die Zwischenablage. Wenn das mail aufgerufen wird, muss ich halt noch "einfügen" aus Zwischenablage drücken. Hat noch jemand ne Idee ??? :gruebel: |
Re: Probleme mit email mittels ShellExecute (mailto....)
Liste der Anhänge anzeigen (Anzahl: 1)
schau dir mal diese Lösung an. (siehe Unit1.zip)
Hab ich hier in der DP gefunden, weiss aber nicht mehr wo. gruessle |
Re: Probleme mit email mittels ShellExecute (mailto....)
|
Re: Probleme mit email mittels ShellExecute (mailto....)
Ja, super.
Die Lösung von Raven funktioniert. :hello: Jetzt müsste ich nur noch wissen, welchen Parameter ich ändern muss, dass das mail als Vollbild gestartet wird, meins öffnet sich nämlich immer als kleines Fenster. Weiss das jemand ??? Gruss, Steffen |
Re: Probleme mit email mittels ShellExecute (mailto....)
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... :gruebel:
Delphi-Quellcode:
[edit=Luckie]Delphi-Tags. Mfg, Luckie[/edit]
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; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz