![]() |
Timeoutzeit für Mapi-Mail verlängern (D5 Pro)
Hallo,
ich verwende folgenden Code unter Delphi 5 Pro um E-Mails zu verschicken. Klappt normalerweise auch richtig klasse. Nur auf einem recht langsamen PC schafft der Rechner es nicht den E-Mail-Client zu öffnen um die Mail zu verschicken befor die SendMail-Funktion in timeout läuft. In einem von 10 Fällen "friert" meine Anwendung auch beim verschicken der Mail ein. Hier der Code:
Delphi-Quellcode:
Hat jemand eine Idee für mich wie ich die Timeout-Zeit für die SendMail-Funktion setzen kann
function SendFileMail(const FileName: TStrArray; const Subject, BodyText, RecipAdress, CopyConAdress: string): string;
var mMessage : TMapiMessage; mlpFiles : array of TMapiFileDesc; mRecips : array of TMapiRecipDesc; ix : integer; begin SetLength(mRecips, 2); with mRecips[0] do begin ulRecipClass := MAPI_TO; lpszName := PChar(RecipAdress); lpszAddress := PChar(RecipAdress); ulEIDSize := 0; lpEntryID := nil; end; with mRecips[1] do begin ulRecipClass := MAPI_CC; lpszName := PChar(CopyConAdress); lpszAddress := PChar(CopyConAdress); ulEIDSize := 0; lpEntryID := nil; end; SetLength(mlpFiles, Length(FileName)); for ix := 0 to High(mlpFiles) do begin with mlpFiles[ix] do begin flFlags := 0; nPosition := Cardinal(-1); // nPosition := 0; lpszPathName := PChar(FileName[ix]); lpszFileName := nil; lpFileType := nil; end; end; with mMessage do begin lpszSubject := PChar(Subject); lpszNoteText := PChar(BodyText); lpszMessageType := nil; lpszDateReceived := nil; lpszConversationID := nil; flFlags := 0; lpOriginator := nil; nRecipCount := 2; lpRecips := @mRecips[0]; nFileCount := Length(FileName); if (nFileCount > 0) then lpFiles := @mlpFiles[0] else lpFiles := nil; // nFileCount := 1; // lpFiles := @mlpFiles; end; case MapiSendMail(0, 0, mMessage, MAPI_LOGON_UI or MAPI_NEW_SESSION, 0) of MAPI_E_AMBIGUOUS_RECIPIENT: Result := 'A recipient matched more than one of the recipient descriptor structures and MAPI_DIALOG was not set!'; MAPI_E_ATTACHMENT_NOT_FOUND: Result := 'The specified attachment was not found!'; MAPI_E_ATTACHMENT_OPEN_FAILURE: Result := 'The specified attachment could not be open!'; MAPI_E_BAD_RECIPTYPE: Result := 'The type of a recipient was not MAPI_TO, MAPI_CC, or MAPI_BCC!'; MAPI_E_FAILURE: Result := 'One or more unspecified errors occurred!'; MAPI_E_INSUFFICIENT_MEMORY: Result := 'There was insufficient memory to proceed!'; MAPI_E_LOGIN_FAILURE: Result := 'There was no default logon, and the user failed to log on successfully when the logon dialog box was displayed!'; MAPI_E_TEXT_TOO_LARGE: Result := 'The text in the message was too large to sent!'; MAPI_E_TOO_MANY_FILES: Result := 'There were too many file attachments!'; MAPI_E_TOO_MANY_RECIPIENTS: Result := 'There were too many recipients!'; MAPI_E_UNKNOWN_RECIPIENT: Result := 'A recipient did not appear in the address list!'; MAPI_E_USER_ABORT: Result := 'The user canceled one of the dialog boxes!'; end; end; oder wie ich mein "einfrieren" behebe? :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 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