diff --git a/crates/directory/src/backend/ldap/lookup.rs b/crates/directory/src/backend/ldap/lookup.rs index e1dd9fc4..b6fae9dc 100644 --- a/crates/directory/src/backend/ldap/lookup.rs +++ b/crates/directory/src/backend/ldap/lookup.rs @@ -366,11 +366,11 @@ impl LdapMappings { } } else if self.attr_email_address.contains(&attr) { for item in value { - principal.prepend_str(PrincipalField::Emails, item); + principal.prepend_str(PrincipalField::Emails, item.to_lowercase()); } } else if self.attr_email_alias.contains(&attr) { for item in value { - principal.append_str(PrincipalField::Emails, item); + principal.append_str(PrincipalField::Emails, item.to_lowercase()); } } else if let Some(idx) = self.attr_description.iter().position(|a| a == &attr) { if !principal.has_field(PrincipalField::Description) || idx == 0 { diff --git a/crates/directory/src/backend/sql/lookup.rs b/crates/directory/src/backend/sql/lookup.rs index 141ed497..8fdbc4be 100644 --- a/crates/directory/src/backend/sql/lookup.rs +++ b/crates/directory/src/backend/sql/lookup.rs @@ -291,7 +291,7 @@ impl SqlMappings { } } else if name.eq_ignore_ascii_case(&self.column_email) { if let Value::Text(text) = value { - principal.set(PrincipalField::Emails, text.into_owned()); + principal.set(PrincipalField::Emails, text.to_lowercase()); } } else if name.eq_ignore_ascii_case(&self.column_quota) { if let Value::Integer(quota) = value {