You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Outlook未运行时用Redemption创建邮件并打开新邮件对话框?

在Outlook未运行时用Redemption创建并打开新邮件对话框的方法

可以在Outlook未运行的情况下实现需求,并非只能通过临时.msg文件启动进程,有两种可行方案:

方案一:临时.msg文件启动(你当前的思路)

这种方式不需要提前启动Outlook后台进程,先创建.msg文件再通过系统进程打开,会自动唤起Outlook并显示新邮件窗口。你已有的创建代码可以补充后续打开逻辑:

Dim Session As RDOSession = RedemptionLoader.new_RDOSession
Dim Msg = Session.GetMessageFromMsgFile(strPath & strFilename, True)
Msg.MessageClass = "IPM.Note"
' 补充邮件内容(主题、收件人等)
Msg.Subject = "测试邮件"
Msg.To = "test@example.com"
Msg.Save()
' 启动进程打开.msg文件
Process.Start(strPath & strFilename)

方案二:直接通过Redemption唤起Outlook并显示对话框

这种方式更直接,通过Redemption的MAPI会话登录触发Outlook后台启动,然后直接调用邮件对象的Display方法弹出编辑窗口,无需生成临时文件:

Dim Session As RDOSession = RedemptionLoader.new_RDOSession
' 登录MAPI会话,若Outlook未运行会自动启动后台进程
Session.Logon()
' 在默认发件箱创建新邮件
Dim Msg = Session.GetDefaultFolder(rdoDefaultFolders.olFolderDrafts).Items.Add("IPM.Note")
' 设置邮件属性
Msg.Subject = "直接创建的测试邮件"
Msg.To = "test@example.com"
' 弹出Outlook新邮件编辑对话框,True表示模态窗口
Msg.Display(True)
' 可选:用完后注销会话(若不需要保持Outlook运行)
' Session.Logoff()

两种方案对比

  • 方案一:适合不需要与Outlook其他功能交互的场景,关闭邮件窗口后Outlook会自动退出,不会在后台留下进程。
  • 方案二:更贴合Outlook原生工作流,可后续对邮件进行更多自动化操作,Outlook会保持运行状态。

内容的提问来源于stack exchange,提问作者Tom Gibson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 21:27:27