Improve email from address list matching

This commit is contained in:
Skylar Ittner 2025-12-14 16:52:54 -07:00
parent 4746a602e0
commit bfbedf9b23

View File

@ -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";