2015-11-04 1 views
0

Я пытаюсь добавить тело письма HTML. 'path_to_html' четко виден, но я не могу отправить почту.Не удалось подключить HTML-страницу к телу почты в R

library(mailR) 
library(R2HTML) 
    heading <- c(
"<html> 
<head> 
<body> 
<p> A new program </p></br> 


</br> 



</body> 
</html>") 

path_to_html <- "e:/mailer.html" 

HTML(heading, file = path_to_html, append = TRUE) 
    send.mail(from = "[email protected]",to = mail_list,               
     subject = "Hi", 
     body = path_to_html, 
     html = TRUE, 
     inline = TRUE, 
     smtp = list(host.name = "smtp.gmail.com", port = 465, user.name ="[email protected]" , 
        passwd = "XXXXXX", ssl = TRUE), 
     authenticate = TRUE, 
     attach.files = path_attach_pdf, 
     send = TRUE) 

Я получаю следующее сообщение об ошибке:

Error in ls(envir = envir, all.names = private) : 
    invalid 'envir' argument 
+0

Вы [включен доступ к менее защищенным приложениям] (https://www.google.com/settings/security/lesssecureapps)? – lukeA

+0

да. Мой локальный файл - 'path_to_html'. Предположим, что вместо этого я использую 'body = heading'. Я могу отправить почту –

+0

Является ли файл пустым? (У меня была эта ошибка один раз с пустой строкой, которую я передал в параметр body). Если примечание: также попробуйте 'e: \\ mailer.html'. И если это не сработает, поместите файл в свой рабочий каталог 'getwd()' и попробуйте 'mailer.html'. – lukeA

ответ

0

Если вы turned on access for less secure apps за счет Gmail, в течение которого вы отправляете ([email protected] в примере ниже), то это работает как шарм:

writeLines(text="<html><body><p>test</p></body></html>", tf <- tempfile(fileext = ".html")) 
library(mailR) 
send.mail(from = "<[email protected]>", 
      to = "<[email protected]>", 
      subject = "test", 
      body = tf, 
      html = TRUE, 
      smtp = list(host.name = "smtp.gmail.com", 
         port = 465, 
         user.name = "foo", 
         passwd = "password", 
         ssl = TRUE), 
      authenticate = TRUE, 
      send = TRUE) 

Если вы не включили его, то вы получите

недействителен 'Envir' аргумент

+0

Хотя я не использовал приведенный выше код. что он работает. Мой файл html также содержит изображения. В случае, если я сохраняю изображения по определенному пути, он работает. Может быть, из-за 'getwd'. Мне нужно понять, что вытащить файл из любой точки. lukeA thanx в любом случае. Ваш мыслительный процесс дал мне ключ. –

+0

@ShivaPrakash Да, [в документации указано, что] (https://github.com/rpremraj/mailR): _ "send.mail ожидает, что изображения в файле HTML будут ссылаться на текущий рабочий каталог. "_ – lukeA

+0

У меня теперь есть другая проблема. Скажем, у меня есть два html-файла:' html_1' и 'html_2' в разных каталогах. Мне нужно добавить их. Мне нужно совместить их. До сих пор я использую 'H TML (html_1, file = html_2, append = T) 'Рассмотрение' html_2' находится в рабочем каталоге. Но я не могу добавить другой путь. Любые подсказки, чтобы пойти об этом / –

Смежные вопросы