我有包含电子邮件的CSV文件。 如何在r?
中发送多个电子邮件错误1 send.mail函数没有获取data.frame值
Error in FUN(X[[i]], ...) :
Sorry, parameter type `NA' is ambiguous or not supported.
错误2 函数不从read.table中获取输入
Error in file.exists(body) : invalid 'file' argument
我的代码如下(仅作为示例的凭据)
temp <- read.csv("E:/OneDrive/M.Tech/temp.csv",header = FALSE)
m <- data.frame(temp)
email <- m[2,14]
rollno <- m[2,1]
file <- read.table("C:/Mehul Katara/New folder (2)/131004.txt",header = TRUE,sep = ";")
send.mail(from = "user@gmail.com",
to = email,
subject = rollno,
body = file,
smtp = list(host.name = "smtp.gmail.com", port = 465, user.name = "user@gmail.com", passwd = "password", ssl = TRUE),
authenticate = TRUE,
send = TRUE)
答案 0 :(得分:0)
这只有一个错误。使用:
file <- read.table("C://Mehul Katara//New folder (2)//131004.txt",header = TRUE,sep = ";")
因为R windows二进制行为,所以您需要将路径中的/
更改为//
。上面的路径也可能不起作用,但在这种情况下,你需要摆脱空间,就像在#Mehul Katara&#34;中一样。请将您的文件放在filepath中没有空格的另一个地方。错误1只是因为错误2而来,并且应该在您修复错误2后立即执行。
来自文档
正文电子邮件正文作为文字。如果参数体指的是 现有文件位置,文件的文本被解析为正文 电子邮件。
理想情况下,您应该将函数调用更改为:
send.mail(from = "user@gmail.com",
to = email,
subject = rollno,
body ="C://Mehul_Katara//New_folder_(2)//131004.txt"
smtp = list(host.name = "smtp.gmail.com", port = 465, user.name = "user@gmail.com", passwd = "password", ssl = TRUE),
authenticate = TRUE,
send = TRUE)