在软件中需要自动启动缺省邮件客户端(如outlook)发邮件,要求能自动填充收件人地址(在软件中提供)、自动填充一段文本内容。我看了一些MAPI的资料,知道用MAPI可以启动outlook发邮件,也可以包含附件,但现在我关键的是:如何能自动填充收件人地址?
当然在程序中不启动outlook也可以发送邮件,但现在要求的就是透明地启动缺省邮件客户端发邮件、又还要有自动填充功能,请问如何解决?请高手指点!

解决方案 »

  1.   

    自动填充收件人不难,难就难在文本内容,下面的内容只能填充收件人内容:char* Param="Mailto:[email protected]?Subject=Just a test";
    ShellExecute(NULL,"open",Param,NULL,NULL,SW_SHOWNORMAL);这样自动Outlook邮件程序并把收件人填充为"[email protected]"并把Subject填充为
    "Just a test".
      

  2.   

    winexec()
    shellexecute() 
    都可以,把邮件作为可执行程序执行。
      

  3.   

    谢谢BCB_FANS(四大名捕之追杀令)的指点,按照这样的方法我已基本解决问题。但确实也有内容如何自动填充的问题。用MAPI可以自动填充内容,但收件人又不能自动填充。二者如何得兼?还请继续讨论。
      

  4.   

    使用笨办法分别试了Content,Data,Message,Msg,Body(就是这个)几个关键字,
    运气不错^_^,终于搞定:char* Param="Mailto:[email protected]?Subject=Just a test&Body=Init Content at here";
    ShellExecute(NULL,"open",Param,NULL,NULL,SW_SHOWNORMAL);注意:Body前面不能有空格,如"& Body"是错误的.给分吧:-)
      

  5.   

    BCB_FANS(四大名捕之追杀令):太感谢了!
    就是现在的情况,也应该给你加分了。
    只是OutLook还有一个抄送项能否也自动填充?如果这个问题解决了,就太完美了!
      

  6.   

    回复人:BCB_FANS(四大名捕之追杀令) () 信誉:100  2002-6-16 22:18:00 得分: 100 删除  
     
      使用笨办法分别试了Content,Data,Message,Msg,Body(就是这个)几个关键字,  
    运气不错^_^,终于搞定:  
     
    char*  Param=  "Mailto:[email protected]?Subject=Just  a  test&Body=Init  Content  at  here  ";  
    ShellExecute(NULL,  "open  ",Param,NULL,NULL,SW_SHOWNORMAL);  
     
    注意:Body前面不能有空格,如  "&  Body  "是错误的.