From bfbedf9b231203f9dc7ee6cce53937c6a2329934 Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Sun, 14 Dec 2025 16:52:54 -0700 Subject: [PATCH] Improve email from address list matching --- endpoints/net.contactspam.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/endpoints/net.contactspam.php b/endpoints/net.contactspam.php index 2b02c48..3d4f947 100644 --- a/endpoints/net.contactspam.php +++ b/endpoints/net.contactspam.php @@ -26,6 +26,9 @@ $email_lower = trim(strtolower($fromemail)); $email_parts = explode("@", $email_lower); $email_domain = $email_parts[count($email_parts) - 1]; +$bannedspamdomains = file(BANNED_SPAM_DOMAINS, FILE_IGNORE_NEW_LINES); +$bannedpartialdomains = file(BANNED_SPAM_DOMAINS_PARTIAL, FILE_IGNORE_NEW_LINES); + // // If message too short (chars and/or words) // @@ -43,7 +46,7 @@ if (isset($VARS["message"])) { // $banneddomainlist1 = file(BANNED_EMAIL_DOMAINS, FILE_IGNORE_NEW_LINES); $banneddomainlist2 = file(BANNED_REFERRALSPAM_DOMAINS, FILE_IGNORE_NEW_LINES); -$banneddomainlist = array_merge($banneddomainlist1, $banneddomainlist2); +$banneddomainlist = array_merge($banneddomainlist1, $banneddomainlist2, $bannedspamdomains); foreach ($banneddomainlist as $domain) { if ($email_domain == $domain || str_ends_with($email_domain, ".$domain")) { exitWithJson(["status" => "OK", "clean" => false, "filter" => "domain", "hit" => $domain, "message" => "Emails from \"" . htmlspecialchars($domain) . "\" are not allowed because of spam/abuse." . ($domain == "googlemail.com" ? " (Hint: use gmail.com instead)" : "")]); @@ -147,8 +150,7 @@ $lists = [ "dbl.spamhaus.org", "black.uribl.com" ]; -$bannedspamdomains = file(BANNED_SPAM_DOMAINS, FILE_IGNORE_NEW_LINES); -$bannedpartialdomains = file(BANNED_SPAM_DOMAINS_PARTIAL, FILE_IGNORE_NEW_LINES); + try { // Matches domain names $regex = "/([a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+)/i";