commit afd9f4e278a6a8fa178e30153cce725518893871 parent 47a9461f39b9340cb570f19887ca8151156c31eb Author: Daniel GarcĂa <dani-garcia@users.noreply.github.com> Date: Sat, 14 Mar 2020 22:30:50 +0100 Allow the smtp mechanism to be provided without quotes and all lowercase Diffstat:
M | src/mail.rs | | | 9 | +++++---- |
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/mail.rs b/src/mail.rs @@ -44,10 +44,11 @@ fn mailer() -> SmtpTransport { _ => smtp_client, }; - let smtp_client = match &CONFIG.smtp_auth_mechanism() { - Some(auth_mechanism_json) => { - let auth_mechanism = serde_json::from_str::<SmtpAuthMechanism>(&auth_mechanism_json); - match auth_mechanism { + let smtp_client = match CONFIG.smtp_auth_mechanism() { + Some(mechanism) => { + let correct_mechanism = format!("\"{}\"", crate::util::upcase_first(&mechanism.trim_matches('"'))); + + match serde_json::from_str::<SmtpAuthMechanism>(&correct_mechanism) { Ok(auth_mechanism) => smtp_client.authentication_mechanism(auth_mechanism), _ => panic!("Failure to parse mechanism. Is it proper Json? Eg. `\"Plain\"` not `Plain`"), }