rstudio / blastula

Easily send great-looking HTML email messages from R
https://pkgs.rstudio.com/blastula
Other
547 stars 85 forks source link

Blastula v0.3.5 Fails Connect Deployment #331

Open rsh52 opened 6 months ago

rsh52 commented 6 months ago

Issue

Recently we updated from blastula 0.3.3 to 0.3.5, and began running into the following issue when deploying our scheduled mailers to RStudio/Posit Connect:

05/06 18:40:30.716 (GMT)
Error in `handle_setopt()`:
05/06 18:40:30.716 (GMT)
! Unknown option: login_options
05/06 18:40:30.716 (GMT)
Backtrace:
05/06 18:40:30.716 (GMT)
1. cgtmailer::send_email(...)
05/06 18:40:30.716 (GMT)
2. blastula::smtp_send(...)

I'm not able to produce the error locally, but this has failed for multiple colleagues projects when deploying to the Connect servers. Is this by any chance a byproduct of changes introduced in #321 ? I find on using v0.3.3 and passing "" to login_options here I receive a similar handle_setopt() failure.

Session Info

R version 4.4.0 (2024-04-24)
Platform: x86_64-apple-darwin20
Running under: macOS Ventura 13.6.6

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: America/New_York
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base     

other attached packages:
 [1] ggplot2_3.5.1        cgtmailer_0.0.0.9000 lubridate_1.9.3      RJDBC_0.2-10         DBI_1.2.2           
 [6] glue_1.7.0           pins_1.3.0           blastula_0.3.3       cgtr_0.1.10          rJava_1.0-11        
[11] dplyr_1.1.4          stringr_1.5.1        purrr_1.0.2          rsconnect_1.2.2      connectapi_0.1.3.1  
[16] cli_3.6.2            usethis_2.2.3       

loaded via a namespace (and not attached):
 [1] gtable_0.3.5      xfun_0.43         tzdb_0.4.0        REDCapR_1.1.0     vctrs_0.6.5       tools_4.4.0      
 [7] generics_0.1.3    curl_5.2.1        parallel_4.4.0    tibble_3.2.1      fansi_1.0.6       pkgconfig_2.0.3  
[13] uuid_1.2-0        lifecycle_1.0.4   farver_2.1.1      compiler_4.4.0    munsell_0.5.1     httpuv_1.6.15    
[19] htmltools_0.5.8.1 yaml_2.3.8        later_1.3.2       pillar_1.9.0      crayon_1.5.2      tidyr_1.3.1      
[25] mime_0.12         commonmark_1.9.1  tidyselect_1.2.1  digest_0.6.35     stringi_1.8.3     labeling_0.4.3   
[31] rprojroot_2.0.4   fastmap_1.1.1     grid_4.4.0        colorspace_2.1-0  magrittr_2.0.3    base64enc_0.1-3  
[37] utf8_1.2.4        readr_2.1.5       withr_3.0.0       scales_1.3.0      promises_1.3.0    rappdirs_0.3.3   
[43] bit64_4.0.5       timechange_0.3.0  rmarkdown_2.26    httr_1.4.7        bit_4.0.5         hms_1.1.3        
[49] shiny_1.8.1.1     evaluate_0.23     knitr_1.46        rlang_1.1.3       Rcpp_1.0.12       xtable_1.8-4     
[55] renv_1.0.7        rstudioapi_0.16.0 vroom_1.6.5       jsonlite_1.8.8    R6_2.5.1          fs_1.6.4   
nealrichardson commented 4 months ago

Is it possible that the libcurl version on your server is older than 7.34, which is when the CURLOPT_LOGIN_OPTIONS was added? Googling around, it looks like CentOS 7 ships with 7.29, for example, so it is possible. That's my best guess as to why it would error like that (and why you wouldn't see it locally).