This commit is contained in:
mdecimus
2023-10-07 08:53:35 +02:00
parent 4ae0ede9ee
commit a0812095ef
21 changed files with 181 additions and 64 deletions

View File

@@ -145,13 +145,13 @@ if eval "!is_empty(envelope.from)" {
}
if eval "!t.FROM_SERVICE_ACCT &&
(contains_ignore_case(service_accounts, email_part(header.reply-to.addr, 'local')) ||
(contains_ignore_case(service_accounts, email_part(rto_addr, 'local')) ||
contains_ignore_case(service_accounts, email_part(header.sender.addr, 'local')))" {
let "t.FROM_SERVICE_ACCT" "1";
}
if eval "!t.WWW_DOT_DOMAIN &&
(contains_ignore_case(header.reply-to.addr, '@www.') ||
(contains_ignore_case(rto_addr, '@www.') ||
contains_ignore_case(header.sender.addr, '@www.'))" {
let "t.WWW_DOT_DOMAIN" "1";
}

View File

@@ -27,6 +27,9 @@ let "from_local" "email_part(from_addr, 'local')";
let "from_domain" "email_part(from_addr, 'domain')";
let "from_domain_sld" "domain_part(from_domain, 'sld')";
# Obtain Reply-To address
let "rto_addr" "to_lowercase(header.reply-to.addr)";
# Obtain Envelope From parts
let "envfrom_local" "email_part(envelope.from, 'local')";
let "envfrom_domain" "email_part(envelope.from, 'domain')";

View File

@@ -143,7 +143,7 @@ while "i < ip_addresses_len" {
# Query DNSWL
let "result" "rsplit_once(dns_query(ip_reverse + '.list.dnswl.org', 'ipv4')[0], '.')";
if eval "starts_with(result[0], '127.0.')" {
if eval "starts_with(result[0], '127.')" {
let "result" "result[1]";
if eval "result == 0" {
@@ -161,7 +161,7 @@ while "i < ip_addresses_len" {
}
# Validate domain names
let "emails" "dedup(winnow(to_lowercase([header.from, header.reply-to, envelope.from] + tokenize(text_body, 'email'))))";
let "emails" "dedup(winnow(to_lowercase([from_addr, rto_addr, envelope.from] + tokenize(text_body, 'email'))))";
let "emails_len" "count(emails)";
let "domains" "dedup(winnow(to_lowercase([ env.helo_domain, env.iprev.ptr ] + email_part(emails, 'domain') + puny_decode(uri_part(urls, 'host')))))";
let "domains_len" "count(domains)";
@@ -263,7 +263,7 @@ while "i > 0" {
# Query DNSWL
let "result" "rsplit_once(dns_query(env.dkim.domains[i] + '.dwl.dnswl.org', 'ipv4')[0], '.')";
if eval "result[0] == '127.0.0'" {
if eval "starts_with(result[0], '127.')" {
let "result" "result[1]";
if eval "result == 0" {

View File

@@ -1,6 +1,5 @@
let "rto_raw" "to_lowercase(header.reply-to.raw)";
if eval "!is_empty(rto_raw)" {
let "rto_addr" "to_lowercase(header.reply-to.addr)";
let "rto_name" "to_lowercase(header.reply-to.name)";
if eval "is_email(rto_addr)" {