From 155ee56df9180ad0a36ba0bf772d8e75a02876bb Mon Sep 17 00:00:00 2001 From: Fatih AKTAS Date: Wed, 29 Jul 2026 10:11:20 -0400 Subject: [PATCH] Expand email alias domain lists Add fastmail.ca to the Fastmail domain set and myyahoo.com to the Yahoo domain set, so more equivalent addresses normalize to the same value before hashing. Both are confirmed to run on their provider's own mail platform with no third-party migration history. --- src/main/java/com/maxmind/minfraud/request/Email.java | 2 ++ src/test/java/com/maxmind/minfraud/request/EmailTest.java | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/main/java/com/maxmind/minfraud/request/Email.java b/src/main/java/com/maxmind/minfraud/request/Email.java index 7ad23384..c6159f42 100644 --- a/src/main/java/com/maxmind/minfraud/request/Email.java +++ b/src/main/java/com/maxmind/minfraud/request/Email.java @@ -141,6 +141,7 @@ public final class Email extends AbstractModel { put("fastemailer.com", true); put("fastest.cc", true); put("fastimap.com", true); + put("fastmail.ca", true); put("fastmail.cn", true); put("fastmail.co.uk", true); put("fastmail.com", true); @@ -235,6 +236,7 @@ public final class Email extends AbstractModel { fastmailDomains = Collections.unmodifiableMap(fastmailDomainsMap); HashMap yahooDomainsMap = new HashMap<>() {{ + put("myyahoo.com", true); put("y7mail.com", true); put("yahoo.at", true); put("yahoo.be", true); diff --git a/src/test/java/com/maxmind/minfraud/request/EmailTest.java b/src/test/java/com/maxmind/minfraud/request/EmailTest.java index 3c4bab4b..820ae1b0 100644 --- a/src/test/java/com/maxmind/minfraud/request/EmailTest.java +++ b/src/test/java/com/maxmind/minfraud/request/EmailTest.java @@ -191,6 +191,10 @@ public void testNormalizing() throws NoSuchAlgorithmException { assertEquals(toMD5("user@fastmail.com"), e.address(), "MD5"); assertEquals("user.fastmail.com", e.domain(), "domain"); + e = new Builder(false).address("alias@user.fastmail.ca").hashAddress().build(); + assertEquals(toMD5("user@fastmail.ca"), e.address(), "MD5"); + assertEquals("user.fastmail.ca", e.domain(), "domain"); + e = new Builder(false).address("foo@bar.example.com").hashAddress().build(); assertEquals(toMD5("foo@bar.example.com"), e.address(), "MD5"); assertEquals("bar.example.com", e.domain(), "domain"); @@ -199,6 +203,10 @@ public void testNormalizing() throws NoSuchAlgorithmException { assertEquals(toMD5("foo@ymail.com"), e.address(), "MD5"); assertEquals("ymail.com", e.domain(), "domain"); + e = new Builder(false).address("test-alias@myyahoo.com").hashAddress().build(); + assertEquals(toMD5("test@myyahoo.com"), e.address(), "MD5"); + assertEquals("myyahoo.com", e.domain(), "domain"); + e = new Builder(false).address("foo@example.com.com").hashAddress().build(); assertEquals(toMD5("foo@example.com"), e.address(), "MD5"); assertEquals("example.com.com", e.domain(), "domain");