Как настроить в теле почты с помощью MailR в R

Я новичок в использовании библиотеки mailR и много ищу в Google, но не нашел ничего полезного.

У меня есть 2 таблицы html в R, я хочу отправить их с помощью библиотеки MailR в теле письма, но когда я отправляю почту, обе таблицы выглядят как соединенные друг с другом.

Как настроить тело письма с помощью библиотеки MailR.

Я хочу, чтобы почта выглядела так, как указано ниже.

Hi Team,
"some sentence here" using t.start and nrows() in the sentence

введите здесь описание изображения

пространство

введите здесь описание изображения

"some sentence here:

Я использую код, чтобы сделать таблицу примерно такой:

Table1<-DF%>% tableHTML(rownames = FALSE,
                      widths = rep(100, 13),
                      second_headers = list(c(1, 6, 6),
                                            c("", "ABC", "XYX")),
                      caption = "ABC Stat") %>%
  add_css_caption(css = list(c("font-weight", "border"),
                             c("bold", "1px solid black")))%>% add_css_row(css = list(c("background-color"), c("lightblue")), rows = 0:2)%>%add_css_caption(css = list(c("background-color"), c("lightblue")))

и тот же код для таблицы2

И для отправки электронной почты код выглядит так:

library(mailR)
sender<-"[email protected]"


recipients<-c("[email protected]")

sm<-list(host.name = "smmm.gmail.com", port = 123,
         user.name="[email protected]",
         passwd="1#4$12#", ssl=TRUE)

send.mail(from=sender,
          to=recipients,
          subject = paste0("Abc Repo"),
          body = paste("Some sentence",Table1,"\br",Table2),
          html = TRUE,
          inline = FALSE,
          smtp = sm,
          authenticate = TRUE,
          attach.files =("abc.csv") ,
          send = TRUE )

person Roy1245    schedule 26.02.2018    source источник
comment
Очень непонятно, что вы хотите. Покажите данные, с которыми вы работаете, и желаемый результат. Сейчас совершенно неясно, каков будет результат.   -  person leeum    schedule 26.02.2018
comment
@leeum Обновил вопрос.   -  person Roy1245    schedule 26.02.2018
comment
Можете ли вы добавить код, который вы используете, и воспроизводимую форму ваших таблиц, которые вы хотите отправить по электронной почте?   -  person sm925    schedule 26.02.2018
comment
@suchait Обновил вопрос.   -  person Roy1245    schedule 26.02.2018


Ответы (1)


Вот пример:

paragraphs <- list(
  glue::glue("Some sentence with {nrow(iris)}:"),
  tab1 = iris[1:3,1:3],
  tab2 = iris[1:3,3:5],
  glue::glue("And another sentence")
)
html <- do.call(paste, c(lapply(paragraphs, knitr::kable, format = "html"), list(sep="<br>")))
smtp <- list(
  host.name = "smtp.gmail.com", 
  port = 465, 
  user.name = "....", 
  passwd = "...", 
  ssl = TRUE
)
from <- to <- "....."
library(mailR)
send.mail(from = from,
          to = to,
          subject = "Report",
          html = TRUE,
          body = html,
          smtp = smtp,
          authenticate = TRUE,
          send = TRUE)  

введите здесь описание изображения

person lukeA    schedule 26.02.2018
comment
@ Roy1245 Мне очень жаль. - person lukeA; 26.02.2018
comment
@IukeA все в порядке. - person Roy1245; 26.02.2018
comment
Я уже преобразовал обе таблицы в формат htmltable, не могли бы вы помочь мне с этим, как вставить ее в тело письма с одним пробелом. - person Roy1245; 26.02.2018
comment
@ Рой1245 paste("Some sentence",Table1,Table2,sep="<br>")? - person lukeA; 26.02.2018
comment
@Roy1245 Roy1245 Пожалуйста, отредактируйте свой вопрос и предоставьте воспроизводимый пример в соответствии с запросом тега R (наведите на него курсор). В противном случае все будет работать наугад. В вашем коде отсутствуют DF, необходимые пакеты и т. д. - person lukeA; 26.02.2018
comment
Требуемый пакет mailR, как я уже упоминал в вопросе, и DF такой же, как Table1. - person Roy1245; 26.02.2018
comment
@ Roy1245 Еще раз, пожалуйста, ПРОЧИТАЙТЕ информацию по ссылке, которую я предоставил, и не стесняйтесь возвращаться с подходящим примером. - person lukeA; 27.02.2018