23. november 2001 - 10:07Der er
9 kommentarer og 1 løsning
Placere fil i mail-systems udbakke?
Jeg vil gerne fra et program kunne placere en fil i brugerens udbakke, således at den bliver sendt næste gang han er inde for at sende/modtage. Mailsystemet er i princippet ukendt, og brugeren skal ikke promptes for hostname, userid,password elle.lign. Nogle forslag til teknologi, eller andre gode ideer? Er der en bedre gruppe at post\'e dette spørgmål i? Mvh Erik
if (RecepientEMail<>\'\') then begin lpRecepient.ulRecipClass := MAPI_TO; if (RecepientName=\'\') then lpRecepient.lpszName := PChar(RecepientEMail) else lpRecepient.lpszName := PChar(RecepientName);
if (FileName=\'\') then begin nFileCount := 0; lpFiles := nil; end else begin FillChar(FileAttach, SizeOf(FileAttach), 0); FileAttach.nPosition := Cardinal($FFFFFFFF); FileAttach.lpszPathName := PChar(FileName); nFileCount := 1; lpFiles := @FileAttach; end; end;
MAPIModule := LoadLibrary(PChar(MAPIDLL));
if MAPIModule=0 then Result := -1 else begin try @SM := GetProcAddress(MAPIModule, \'MAPISendMail\'); if @SM<>nil then Result := SM(0, Application.Handle, message, MAPI_DIALOG or MAPI_LOGON_UI, 0) else Result := 1 finally FreeLibrary(MAPIModule); end; end;
if not Result in [0,1] then MessageDlg(\'Error sending mail (\'+IntToStr(Result)+\').\', mtError, [mbOk], 0) end;
Hej Jens Tak for svaret, men det er nu ikke helt det vi vil. MAPI har jo den funktion at den starter mailklienten hvis ikke den er startet, og opretter en meddelelse i den og det virker fint. MEN:
Vi ønsker kun at placere meddelelsen det sted, der svarer til at man i Outlook opretter en meddelelse og trykker send mens man er Offline. Meddelelsen ligger så i \'Udbakke\' indtil brugeren log\'er på og trykker Send/modtag.
Ja jeg så også helst at man slap for at skulle trykke på send knappen, og hvis man kunne ville det være perfekt, kan det lade sig gøre Jens +
Jeg har selv forsøgt mig med nedenstående kode, det bygger på NMSMTP komponenten under fastnet i D6
NMSMTP1.Host := \'Din udgående mail server\'; if not NMSMTP1.Connected then NMSMTP1.Connect; //SendingMail := true; if NMSMTP1.Connected then begin
NMSMTP1.ClearParameters; NMSMTP1.PostMessage.Body.Clear; // text string of senders email address NMSMTP1.PostMessage.FromAddress := \'Din mail adr\'; NMSMTP1.PostMessage.FromName := \'Falco Control\'; // name of sender NMSMTP1.PostMessage.Subject := \'Alarm !\'; // subject text NMSMTP1.PostMessage.Body.AddStrings(MessageMemo.Lines); NMSMTP1.SendMail; ShowMessage(\'message sent: \'); end else ShowMessage(\'fail to connect\'); NMSMTP1.Disconnect;
jeg har det kørende i en løkke hvor jeg sender SMS ud når jeg modtager alarmer i en DB men det går ned ind imellem, jeg ved det også kan laves med indy komponenterne
Lukkes. Det kan vist tilsyneladende ikke lade sig gøre.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.