关于CDO和Exchange的问题,请大家帮忙

zjkun15 2001-08-15 12:30:57
现在我遇到一个很难办的问题,要通过ASP或VB\VC(可以做成组件在ASP里调用)从exchange
Folder上下载附件,保存到客户端的文件夹中,可不是通过IE的功能完成,所有功能要自己实现!
我现在实现了一部分,但引用的是cdo for exchange2000,在客户端实现不了!!!
请大家帮忙,谢谢了,我编写的代码是这样的:
Private Function LoadFile(url As String)
If url = "" Then Exit Function
Dim iMsg As New cdo.Message
Dim iBp As cdo.IBodyPart
Dim rc As New ADODB.Record
If Dir("c:\TempLoad\", vbDirectory) = "" Then '如果没有找到保存下载文件的目录,则创建
MkDir "c:\TempLoad"
End If
rc.Open url
iMsg.DataSource.OpenObject rc, "_Record" '读出附件
Set iBp = iMsg.Attachments.Item(1) '
iBp.SaveToFile "c:\TempLoad\" & File '将附件保存到本地文件中File为文件名称
End Function
...全文
128 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengyun_ustc 2001-08-15
  • 打赏
  • 举报
回复
你跟踪了吗?
是错在哪里?或者说能走到哪里?
能打开吗?rc.open url就行了吗,你这个组件是放在身份下运行的,有没有权限呢?

除此之外,我建议你最好用WebDAV方式提交这种请求,因为你这要是在客户端运行的话,客户端不能保证一定有CDO for exchange组件呀,除非在客户机上安装ExchSDK或者其他SDK才会有吧。

如果你这个是一个产品的话,请一定用webdav,不要犹豫,否则你无法做到与其他邮件服务器兼容的。
hydnoahark 2001-08-15
  • 打赏
  • 举报
回复
ASP运行的服务器端,所以你应该将Message中的附件保存到一个虚拟目录再让用户下载。
如果使用CDO.Message, 这个ASP文件必须运行在Exchange Server所在的服务器上
set msg=Server.Createobject("cdo.message")
msg.datasource.open url
if msg.attachments.count>0 then
for each atch in msg.attachment
atch.savetofile "D:\downloads\" & atch.filename
next
end if

确保你的ASP用户对Folder有相应的访问权限
zhengyun_ustc 2001-08-15
  • 打赏
  • 举报
回复
请给你的LoadFile(url As String)多传几个参数:
UserName,
Password,
DomainName.

务必,不然如何通过验证呢?除非你把自己的组件放在COM+中,加上特殊的身份。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧