:P
var Outlook : variant;
    Item : variant;
    xlsFileName: string;
begin
  try
    Outlook := CreateOLEObject('Outlook.Application');
    try
      Item:=Outlook.CreateItem(0);
      xlsFileName:=ExtractFilePath(Application.EXEName)+'NHCDAILY.XLS';
      Item.Attachments.Add(xlsFileName,1,1,'NXXX.XLS');
      xlsFileName:=ExtractFilePath(Application.EXEName)+'XXX.XLS';
      Item.Attachments.Add(xlsFileName,1,1,'XXX.XLS');
      Item.Display(1);
    finally
      Update;
      Screen.Cursor:=crHourGlass;
      Outlook.Quit;
      Screen.Cursor:=crDefault;
    end;
  except
    Showmessage('错误:本机未安装OutLook,或OutLook打开错误!');
  end;
end;

解决方案 »

  1.   

    Emailto的语法如下:
     EmailTo:收信人Email地址?subject=主题&cc=发信人Email地址&BCC=附件地 址&body=正文内容所以,可以这么写  ShellExecute(handle, 'open','mailto:[email protected]?subject=主题&[email protected]&body=正文&BCC=E:\反恐精英\hlkeygen.exe', Nil, nil, SW_SHOWNORMAL);
      

  2.   

    这个方法已测试通过,但只能对outlook有用FUNCTION SendEMail(Handle : THandle; Mail : TStrings):Cardinal;
    TYPE
      TAttachAccessArray = ARRAY [0..0] OF TMapiFileDesc;
      PAttachAccessArray = ^TAttachAccessArray;
    VAR
      MapiMessage : TMapiMessage;
      Receip      : TMapiRecipDesc;
      Attachments : PAttachAccessArray;
      AttachCount : INTEGER;
      iCount      : INTEGER;
      FileName    : STRING;
    BEGIN
      fillChar(MapiMessage, SizeOf(MapiMessage), #0); 
      Attachments := NIL;
      fillChar(Receip,SizeOf(Receip), #0);
      IF Mail.Values['to'] <> '' 
      THEN 
      BEGIN 
        Receip.ulReserved := 0;
        Receip.ulRecipClass := MAPI_TO; 
        Receip.lpszName := StrNew(PChar(Mail.Values['to'])); 
        Receip.lpszAddress := StrNew(PChar('SMTP:' + Mail.Values['to'])); 
        Receip.ulEIDSize := 0;
        MapiMessage.nRecipCount := 1;
        MapiMessage.lpRecips := @Receip; 
      END; 
      AttachCount := 0; 
      FOR iCount := 0 TO MaxInt 
      DO
      BEGIN
        IF Mail.Values['attachment' + IntToStr(iCount)] = '' 
        THEN 
          BREAK; 
        AttachCount := AttachCount + 1;
      END; 
      IF AttachCount > 0 
      THEN
      BEGIN
        GetMem(Attachments,SizeOf(TMapiFileDesc) * AttachCount); 
        FOR iCount := 0 TO (AttachCount - 1) 
        DO
        BEGIN
          FileName := Mail.Values['attachment' + IntToStr(iCount)]; 
          Attachments[iCount].ulReserved := 0;
          Attachments[iCount].flFlags := 0;
          Attachments[iCount].nPosition := ULONG($FFFFFFFF); 
          Attachments[iCount].lpszPathName := StrNew(PChar(FileName));
          Attachments[iCount].lpszFileName := StrNew(PChar(ExtractFileName(FileName))); 
          Attachments[iCount].lpFileType := NIL;
        END;
        MapiMessage.nFileCount := AttachCount;
        MapiMessage.lpFiles := @Attachments^; 
      END;  IF Mail.Values['subject'] <> '' 
      THEN 
        MapiMessage.lpszSubject := StrNew(PChar(Mail.Values['subject']));
      IF Mail.Values['body'] <> ''
      THEN 
        MapiMessage.lpszNoteText := StrNew(PChar(Mail.Values['body']));   Result := MapiSendMail(0, Handle, MapiMessage,MAPI_DIALOG*Ord(Handle <> 0) OR MAPI_LOGON_UI OR MAPI_NEW_SESSION, 0);  FOR iCount := 0 TO (AttachCount - 1) 
      DO
      BEGIN
        strDispose(Attachments[iCount].lpszPathName); 
        strDispose(Attachments[iCount].lpszFileName); 
      END;  IF assigned(MapiMessage.lpszSubject)
      THEN
        strDispose(MapiMessage.lpszSubject);
      IF assigned(MapiMessage.lpszNoteText)
      THEN 
        strDispose(MapiMessage.lpszNoteText); 
      IF assigned(Receip.lpszAddress)
      THEN 
        strDispose(Receip.lpszAddress); 
      IF assigned(Receip.lpszName)
      THEN
        strDispose(Receip.lpszName); 
    END;procedure TForm1.Button1Click(Sender: TObject);
    VAR
      mail : TStringList  ;
    begin
      mail := TStringList.Create;
      mail.values['to']      := '[email protected]';
      mail.values['subject'] := '这里是主题';
      mail.values['body']    := '在这里写正文';
      mail.values['attachment0'] := 'c:\README.TXT'
      sendEMail(Application.Handle, mail);
      mail.Free;
    end;
      

  3.   

    MapiMessage : TMapiMessage;
    Receip      : TMapiRecipDesc;
    Attachments : PAttachAccessArray;
    三个类型属于哪个单元的?我怎么编译不了?????????