【发布时间】:2020-03-29 14:28:54
【问题描述】:
我已经用几种不同的方式尝试了这段代码,但一直收到同样的错误。我不相信代码是问题所在,我想知道我是否缺少 RDCOMClient 的功能。该功能有效,因为我通过它发送了许多电子邮件。是循环功能不起作用。
我只是想遍历一个 DataFrame 的向量并发送一封与它正在循环的电子邮件相对应的电子邮件。
(例如,应向 email1 发送电子邮件,应向 email2 发送电子邮件等)
test.df <- data.frame(
"email" = c("email1", "email2", "email3")
,"name" = c("name1", "name2", "name3")
)
mail_fun <- function(mail) {
outMail = OutApp$CreateItem(0)
## configure email parameter
outMail[["To"]] = mail
outMail[["subject"]] = "Project hours for next week"
outMail[["HTMLBody"]] = paste0("<p>Testing sending hours through R</>")
## send it
outMail$Send()
}
sapply(test.df$email, mail_fun)
这是我收到的错误:
[[<-(*tmp*, "To", value = 2L) 中的错误: 无法附加创建通用 COM 对象所需的 RDCOMServer 包 另外:警告信息: 在库中(包,lib.loc = lib.loc,character.only = TRUE,logical.return = TRUE,:
[[<-(*tmp*, "To", value = 2L) 中的错误: 无法附加创建通用 COM 对象所需的 RDCOMServer 包
【问题讨论】:
-
是的,我遇到了同样的错误。我相信您还需要安装
RDCOMServer软件包,还是我错了?我正在尝试这个,并会返回给你! -
经过更多研究后,我确实想通了。这是因为电子邮件是因素而不是字符串。我刚刚在我的 data.frame() 中添加了 stringsAsFactors = FALSE。
-
啊哈。这是有道理的——我今天学到了一些新东西,谢谢。
-
也许你可以发布一个答案?
标签: r loops email rdcomclient