Browse Source
use static_files() for email attachments
Apply suggestions from code review
Co-authored-by: Mathijs van Veluw <black.dex@gmail.com>
pull/2840/head
Stefan Melmuk
2 years ago
committed by
Daniel García
No known key found for this signature in database
GPG Key ID: FC8A7D14C3CD543A
4 changed files with
5 additions and
4 deletions
-
src/api/mod.rs
-
src/api/web.rs
-
src/config.rs
-
src/mail.rs
|
|
@ -22,6 +22,7 @@ pub use crate::api::{ |
|
|
|
notifications::{start_notification_server, Notify, UpdateType}, |
|
|
|
web::catchers as web_catchers, |
|
|
|
web::routes as web_routes, |
|
|
|
web::static_files, |
|
|
|
}; |
|
|
|
use crate::util; |
|
|
|
|
|
|
|
|
|
@ -89,7 +89,7 @@ fn alive(_conn: DbConn) -> Json<String> { |
|
|
|
} |
|
|
|
|
|
|
|
#[get("/vw_static/<filename>")] |
|
|
|
fn static_files(filename: String) -> Result<(ContentType, &'static [u8]), Error> { |
|
|
|
pub fn static_files(filename: String) -> Result<(ContentType, &'static [u8]), Error> { |
|
|
|
match filename.as_ref() { |
|
|
|
"mail-github.png" => Ok((ContentType::PNG, include_bytes!("../static/images/mail-github.png"))), |
|
|
|
"logo-gray.png" => Ok((ContentType::PNG, include_bytes!("../static/images/logo-gray.png"))), |
|
|
|
|
|
@ -767,7 +767,7 @@ fn generate_smtp_img_src(embed_images: bool, domain: &str) -> String { |
|
|
|
if embed_images { |
|
|
|
"cid:".to_string() |
|
|
|
} else { |
|
|
|
format!("{}/vw_static/", domain) |
|
|
|
format!("{domain}/vw_static/") |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -496,11 +496,11 @@ pub async fn send_test(address: &str) -> EmptyResult { |
|
|
|
} |
|
|
|
|
|
|
|
async fn send_email(address: &str, subject: &str, body_html: String, body_text: String) -> EmptyResult { |
|
|
|
let logo_gray_body = Body::new(include_bytes!("static/images/logo-gray.png").to_vec()); |
|
|
|
let mail_github_body = Body::new(include_bytes!("static/images/mail-github.png").to_vec()); |
|
|
|
let smtp_from = &CONFIG.smtp_from(); |
|
|
|
|
|
|
|
let body = if CONFIG.smtp_embed_images() { |
|
|
|
let logo_gray_body = Body::new(crate::api::static_files("logo-gray.png".to_string()).unwrap().1.to_vec()); |
|
|
|
let mail_github_body = Body::new(crate::api::static_files("mail-github.png".to_string()).unwrap().1.to_vec()); |
|
|
|
MultiPart::alternative().singlepart(SinglePart::plain(body_text)).multipart( |
|
|
|
MultiPart::related() |
|
|
|
.singlepart(SinglePart::html(body_html)) |
|
|
|