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

使用R的RDCOMClient发送Outlook邮件时附件添加报错求助

问题解决:RDCOMClient发送Outlook邮件附件报错

错误原因分析

你的错误根源是**Attachments$Add()方法的参数使用错误**,Outlook的COM对象中,Add()方法仅需传入完整的文件路径作为第一个参数,不需要拆分路径、日期和后缀。同时你当前的路径未包含完整文件名(缺少日期与后缀的拼接),导致无法定位文件,进而触发COM调用错误。

修正后的脚本

library(RDCOMClient)
# 初始化Outlook COM对象
OutApp <- COMCreate("Outlook.Application")
# 创建邮件
outMail <- OutApp$CreateItem(0)
# 配置邮件参数
outMail[["To"]] <- "ashishpatil@orientindia.net"
outMail[["cc"]] <- "atulkadam@orientindia.net"
outMail[["subject"]] <- paste0("RE: Update your Todays date ", format(Sys.Date(), "%d-%m-%y"), " Timesheet.")
outMail[["body"]] <- "Dear Sir/Madam,
       Please find below the CMS Application - Total Count of Records Uploaded Status:"

# 生成完整的附件文件路径
attachment_path <- paste0(
  "C:/Users/atulkadam/OneDrive - Orient Technologies Pvt. Ltd/Atul/Time Sheet/atul kadam ",
  format(Sys.Date(), "%d-%m-%y"),
  ".xlsx"
)
# 添加附件(仅传入完整路径即可)
outMail[["Attachments"]]$Add(attachment_path)

# 发送邮件
outMail$Send()

额外注意事项

  • 确保附件路径对应的文件真实存在,文件不存在也会触发类似COM错误
  • 路径中的空格无需转义,RDCOMClient可正确识别
  • 若仍出现COM相关错误,检查Outlook是否正常运行,或重启R会话后重试

内容的提问来源于stack exchange,提问作者Atul Kadam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 07:10:19