![]() |
Email per MAPI Preview
Hi,
ich habe das Forum schon durchsucht,aber das richtige nicht gefunden: Will eine Neue Email öffnen im Outlook und der neuen Email Empfänger,Text Anhang usw mitteilen, aber die Mail nicht senden(MailItem.Send;) sondern nur Als NEUE offen lassen,damit man noch etwas ändern kann usw. mache das hiermit: try OutlookApp := GetActiveOleObject('Outlook.Application'); except OutlookApp := CreateOleObject('Outlook.Application'); end; try MailItem := OutlookApp.CreateItem(olMailItem); MailItem.Recipients.Add('YourMailAddress@something .com'); MailItem.Subject := 'Your Subject'; MailItem.Body := 'Your Message'; myAttachments := MailItem.Attachments; myAttachments.Add('C:\test.txt', olByValue, 1, 'Name of Attachment'); MailItem.Send; finally myAttachments := VarNull; OutlookApp := VarNull; end; Danke. |
Re: Email per MAPI Preview
Hi :hi:,
lass das
Delphi-Quellcode:
raus. ;)
MailItem.Send;
MfG freak |
Re: Email per MAPI Preview
Hi renekr,
Du bist eigentlich schon lang genug dabei, so dass Dir aufgefallen sein dürfte, dass wir die wunderschönen [delphi]-Tags hier haben :zwinker: ...:cat:... |
Re: Email per MAPI Preview
Hallo,
Habe in der Zeit was gefunden, aber leider einen neuen Fehler drin gehabt. Bitte um Hilfe bin etwas Ratlos. 1. Function
Delphi-Quellcode:
Aufrufen tue ich das so;function SendMail(const Subject, Body, FileName, SenderName, SenderEMail, RecipientName, RecipientEMail: string): Integer; var Message: TMapiMessage; lpSender, lpRecipient: TMapiRecipDesc; FileAttach: TMapiFileDesc; SM: TFNMapiSendMail; MAPIModule: HModule; begin FillChar(Message, SizeOf(Message), 0); with Message do begin if (Subject <> '') then lpszSubject := PChar(Subject); if (Body <> '') then lpszNoteText := PChar(Body); if (SenderEmail <> '') then begin lpSender.ulRecipClass := MAPI_ORIG; if (SenderName = '') then lpSender.lpszName := PChar(SenderEMail) else lpSender.lpszName := PChar(SenderName); lpSender.lpszAddress := PChar(SenderEmail); lpSender.ulReserved := 0; lpSender.ulEIDSize := 0; lpSender.lpEntryID := nil; lpOriginator := @lpSender; end; if (RecipientEmail <> '') then begin lpRecipient.ulRecipClass := MAPI_TO; if (RecipientName = '') then lpRecipient.lpszName := PChar(RecipientEMail) else lpRecipient.lpszName := PChar(RecipientName); lpRecipient.lpszAddress := PChar(RecipientEmail); lpRecipient.ulReserved := 0; lpRecipient.ulEIDSize := 0; lpRecipient.lpEntryID := nil; nRecipCount := 1; lpRecips := @lpRecipient; end else lpRecips := nil; 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 try @SM := GetProcAddress(MAPIModule, 'MAPISendMail'); if @SM <> nil then begin Result := SM(0, Application.Handle, Message, MAPI_DIALOG or MAPI_LOGON_UI, 0); end else Result := 1; finally FreeLibrary(MAPIModule); end; if Result <> 0 then MessageDlg('Email wurde nicht gesendet.', mtError,[mbOK], 0); if Result = 0 then MessageDlg('Email wurde gesendet , und unter C:\MEKM Tool\Logbuchberichte abgelegt.', mtInformation,[mbOK], 0); end;
Delphi-Quellcode:
Jetzt mein Problem: Den Empfänger ,wo ich aus Namen zusammen bastle:
Visible:=false;
SendMail(strSubject,'Hallo Kollegen','c:\MEKM Tool\Logbuch Berichte\Logbuch Bericht '+DateToStr(date)+' - ID'+edit22.text+'.pdf','','','',strEmail); Visible:=true; String sieht so aus 'Name1;name2;name3;name4' Aber er macht die Email auf und schreibt alle als 1namen hinein, Wie muß ich das abändern? 2. Möglichkeit ist die von mir oben ohne MailItem.Send , da macht er aber nix auf. Mir wäre die 1. Function am liebsten,nur wenn die Empfänger mehr als 1 angezeigt werden. Muß ich da ev. den Wert nRecipCount := 1; in der Function ändern. Danke. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:38 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