diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/src/main.rs b/src/main.rs index 199862c..b4d500d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -137,6 +137,20 @@ fn get_email_body(email: &[u8]) -> Result<String, WrapError> {      for part in email.subparts {          for header in part.get_headers() {              if header.get_key() == "Content-Type" +                && header.get_value().starts_with("multipart/alternative") +            { +                for alternative_part in &part.subparts { +                    for alternative_header in alternative_part.get_headers() { +                        if alternative_header.get_key() == "Content-Type" +                            && alternative_header.get_value().starts_with("text/plain") +                        { +                            return Ok(alternative_part.get_body()?); +                        } +                    } +                } +            } + +            if header.get_key() == "Content-Type"                  && header.get_value().starts_with("text/plain")              {                  return Ok(part.get_body()?); | 
