--- title: "Sending HTML reports inline and as attachment created with knitr" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Sending HTML reports inline and as attachment created with knitr} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r echo = FALSE} knitr::opts_chunk$set(collapse = TRUE, comment = "#>", fig.width = 7, fig.height = 5, warning = FALSE, message = FALSE) if (!requireNamespace("rmarkdown", quietly = TRUE) || !requireNamespace("htmltools", quietly = TRUE)) { knitr::opts_chunk$set(eval = FALSE, tidy = FALSE) } ``` This file shows a typical workflow for knitting *.Rmd* documents and sending them per E-Mail. First we have our **my_file.Rmd** which looks like this: ````{=html}
---
title: ' '
output:
html_document:
theme: null
highlight: null
mathjax: null
---
Hello everyone,\n
here is a calculation.
**2+2 =**
```{r echo=FALSE}
2+2
```
All the best
````
```{r include=FALSE}
test.Rmd <- "---
title: ' '
output:
html_document:
theme: null
highlight: null
mathjax: null
---
Hello everyone,\n
here is a calculation.
**2+2 =**
\```{r echo=FALSE}
2+2
\```
All the best
"
writeLines(test.Rmd, con = "my_file.Rmd")
```
## Render your rmarkdown file
```{r echo=TRUE, results = 'hide'}
htmlout <- tempfile(fileext = ".html")
rmarkdown::render(
input = "my_file.Rmd",
intermediates_dir = ".",
output_file = htmlout,
)
```
## This is the resulting HTML document
```{r echo=FALSE, results='asis'}
unlink("my_file.Rmd")
htmltools::includeHTML(htmlout)
```
------------------------------------------------------------------------
## Sending the html file per E-Mail
We can now send the the resulting html file as A) an file attachment or B) inline HTML.
### A) File attachment
```{r}
library(sendmailR)
sendmail(from="from@example.org",
to="to1@example.org",
subject="File attachment",
msg=c(
mime_part("Hello everyone,\n here is the newest report.\n Bye"),
mime_part(htmlout, name = "report.html")),
engine = "debug")
```
### B) Inline HTML
```{r message=TRUE}
sendmail(from="from@example.org",
to="to1@example.org",
subject="Inline HTML",
msg=mime_part_html(htmlout),
engine = "debug")
```