From a4c0af9cf1ea1986b37f7114719de18ffcc31db9 Mon Sep 17 00:00:00 2001 From: Paolo Barbolini Date: Tue, 22 Dec 2020 22:30:09 +0100 Subject: [PATCH] message: generate a shorter multipart boundary (#523) Fixes https://tools.ietf.org/tools/msglint/ warning about the Content-Type header being too long. I looked at many emails I received over time and I couldn't find any with a boundary as long as ours, so this isn't only justified by making some tool happy. --- src/message/mimebody.rs | 4 ++-- testdata/email_with_png.eml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/message/mimebody.rs b/src/message/mimebody.rs index 38d6ca2..dd7b8db 100644 --- a/src/message/mimebody.rs +++ b/src/message/mimebody.rs @@ -199,7 +199,7 @@ pub enum MultiPartKind { fn make_boundary() -> String { rand::thread_rng() .sample_iter(&rand::distributions::Alphanumeric) - .take(68) + .take(40) .collect() } @@ -772,7 +772,7 @@ mod test { // Ensure correct length for boundary in boundaries { - assert_eq!(68, boundary.len()); + assert_eq!(40, boundary.len()); } } } diff --git a/testdata/email_with_png.eml b/testdata/email_with_png.eml index 56734ea..638f730 100644 --- a/testdata/email_with_png.eml +++ b/testdata/email_with_png.eml @@ -4,14 +4,14 @@ Reply-To: Yuin To: Hei Subject: Happy new year MIME-Version: 1.0 -Content-Type: multipart/related; boundary="kve7WTqtIDDNFzED8Dccv2dHCJYXcEwETTAaIYCAcfn6lxvHldUc21nczexPKCfoDVec" +Content-Type: multipart/related; boundary="0oVZ2r6AoLAhLlb0gPNSKy6BEqdS2IfwxrcbUuo1" ---kve7WTqtIDDNFzED8Dccv2dHCJYXcEwETTAaIYCAcfn6lxvHldUc21nczexPKCfoDVec +--0oVZ2r6AoLAhLlb0gPNSKy6BEqdS2IfwxrcbUuo1 Content-Type: text/html; charset=utf8 Content-Transfer-Encoding: 7bit

Hello, world!

---kve7WTqtIDDNFzED8Dccv2dHCJYXcEwETTAaIYCAcfn6lxvHldUc21nczexPKCfoDVec +--0oVZ2r6AoLAhLlb0gPNSKy6BEqdS2IfwxrcbUuo1 Content-Type: image/png Content-Disposition: inline Content-ID: <123> @@ -230,4 +230,4 @@ AAAACQh0AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0 AAAASECgAwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECg AwAAQAICHQAAABIQ6AAAAJCAQAcAAIAEBDoAAAAkINABAAAgAYEOAAAACQh0AAAASECgAwAAQAIC HQAAABIQ6AAAAJDAfwHNjj3TR6+CggAAAABJRU5ErkJggg== ---kve7WTqtIDDNFzED8Dccv2dHCJYXcEwETTAaIYCAcfn6lxvHldUc21nczexPKCfoDVec-- +--0oVZ2r6AoLAhLlb0gPNSKy6BEqdS2IfwxrcbUuo1--