Correus-e via R en GenCat amb Blastula | |
Trobada analistes de dades de la Gencat a l'ACA (C/ Provença 260, BCN). Dll. 29/05/2023, 16:00-17:30h. Xavier de Pedro Puente, Ph.D. CEB - xavierdepedro.ceb@gencat.cat Diapos a: https://seeds4c.org/BlastulaGencat
Trobada analistes de dades
La idea és desvirtualitzar-nos, conèixer-nos, compartir informació... i després qui vulgui ens podem allargar i anar a prendre quelcom.
|
1. Cas d'ús | |
Enviar correus des de la xarxa informàtica de la Generalitat de Catalunya (servidors amb outlook i office365), via scripting quan es compleixen unes condicions del negoci basades en dades.
|
1.1. Exemple: posada a punt | |
Codi a Gitlab GenCat:
Cal escollir un sistema d'enviarment de correus, entre les opcions:
|
1.2. Crea clau smtp en configuració de sistema via nom proveïdor | |
xxxxxxxxxx 10 1 # Creo la clau d'enviament de correus (i en windows) una vegada només 2 create_smtp_creds_key( 3 id="foo_ceb", 4 user = "foo@gencat.cat", 5 provider = "office365", 6 overwrite = FALSE 7 ) 8 # The system key store has been updated with the "blastula-v1-foo_ceb" key with the `id` value "foo_ceb". 9 # * Use the `view_credential_keys()` function to see all available keys 10 # * You can use this key within `smtp_send()` with `credentials = creds_key("foo_ceb")`
|
1.3. Preparar objectes: gràfics ggplot2 | |
x 1 p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, size=cyl)) + 2 geom_point() + 3 theme(legend.position="none") 4 5 p1 <- ggExtra::ggMarginal(p, type="histogram") 6 7 my_ggplot <- blastula::add_ggplot( p1 , width=5)
|
1.4. Preparar objectes: imatges | |
xxxxxxxxxx 1 1 my_image <- blastula::add_image(file = system.file("img", "Rlogo.png", package="png"), width = 200)
|
1.5. Preparar objectes: taules | |
xxxxxxxxxx 5 1 my_table_gt <- starwars %>% head() %>% gt() %>% 2 data_color( 3 columns = birth_year, 4 colors = scales::col_numeric(palette = "Blues", domain = range(0,800)) 5 ) %>% as_raw_html()
|
1.6. Composar el missatge - opció 1: compose_email() | |
Opció 1:
xxxxxxxxxx 13 1 correu_alerta1 <- blastula::compose_email( 2 body = md(glue::glue( 3 "Benvolgut/da, acció requerida!: 4 5 Gràfic: 6 {my_ggplot} 7 Imatge: 8 {my_image} 9 Taula heatmap: 10 {my_table_gt} 11 ")), 12 footer = md(glue::glue("Correu enviat el {Sys.time()}.")) 13 )
|
1.7. Composar el missatge - opció 2: render_email() | |
Opció 2:
xxxxxxxxxx 1 1 correu_alerta2 <- blastula::render_email(input = "Plantilla 2.Rmd")
|
1.8. Afegir adjunts (pdf, htmlwidgets, ...) | |
xxxxxxxxxx 5 1 correu_alerta1 <- correu_alerta1 %>% 2 add_attachment(file = system.file('img', 'pexels-photo-267151.jpeg',package='blastula') ) %>% # Imatge via adjunt 3 add_attachment(file = system.file('examples', 'austin_home_sales.csv',package='blastula') ) %>% # CSV 4 add_attachment(file = system.file('doc', 'DT.html',package='DT') ) %>%# html autocontingut 5 add_attachment(file = system.file('legacy', 'examples', 'choropleth', 'Rplots.pdf',package='leaflet') ) # pdf
|
1.9. Enviar el correu | |
xxxxxxxxxx 9 1 # L'adreça "from" ha de ser real i existir al correu de gencat.cat, i ha de coincidir amb l'usuari que ha creat el seu "creds_key()" amb les seves credencials 2 correu_alerta1 |> 3 blastula::smtp_send( 4 to = "direccio@lameva.aapp.cat", 5 cc = "jo@lameva.aapp.cat", 6 from = "automatitzacions@lameva.aapp.cat", 7 subject = "Reviseu Canvis - Informe setmanal", 8 credentials = creds_key("foo_ceb") 9 )
|
2. Resultats | |
Exemple d'arxiu de codi R Markdown amb tot junt:
|
3. Alternatives | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Paquet d'R vius
|
4. Gràcies | |
Xavier de Pedro Puente, Ph.D.
Aquestes diapositives són disponibles a: https://seeds4c.org/BlastulaGencat
Unless elsewhere noted, contents of this web site are released under a Creative Commons license.
|