Fact-checked by Grok 2 weeks ago

Sender Policy Framework

The Sender Policy Framework (SPF) is an protocol that enables domain administrators to specify, via DNS records, which addresses or hosts are authorized to send on behalf of their , thereby verifying the legitimacy of the sending against the claimed sender in SMTP transactions. Developed to address , , and , SPF allows receiving mail servers to evaluate the sender's during the SMTP "MAIL FROM" or "HELO"/"EHLO" phases by querying the domain's SPF record, which begins with the version identifier "v=spf1" followed by mechanisms and qualifiers that define authorization policies. These mechanisms include directives such as "a" (matching the domain's A record), "mx" (matching records), "ip4" or "ip6" (explicit addresses), and "include" (referencing external SPF records), often ending with a default qualifier like "-all" to reject unauthorized senders. The protocol's , check_host(), produces results including "pass" (authorized), "fail" (unauthorized), "softfail" (suspicious), "neutral" (no policy), "none" (no record found), or error states like "temperror" (transient DNS issue) or "permerror" (permanent ), informing the receiver's handling of the message. To prevent DNS overload, SPF limits recursive lookups to 10 per evaluation. SPF originated in 2003 as an open-community effort to standardize anti-spoofing measures and was first formalized in RFC 4408 in April 2006, which supported both TXT records and a dedicated SPF resource record type (RRTYPE 99). Based on operational experience, it was revised and obsoleted by RFC 7208 in April 2014, which deprecated the SPF RR type in favor of TXT records exclusively and clarified evaluation rules. The protocol has since been integrated into broader email security frameworks, often used in conjunction with DomainKeys Identified Mail (DKIM) for message signing and Domain-based Message Authentication, Reporting, and Conformance (DMARC) for policy enforcement and reporting. Adoption of has grown steadily since the mid-2000s, with empirical studies indicating it as the most prevalent DNS-based method; for instance, analyses of large domain datasets show over 56% of domains publishing SPF records by 2025, though challenges like misconfigurations and incomplete support persist. Since February 2024, and have required bulk email senders (over 5,000 emails per day) to implement a policy with either SPF or DKIM authentication to reach their inboxes, while enforced similar requirements starting May 2025, further driving SPF adoption. Government and industry bodies, including the U.S. and National Institute of Standards and Technology, recommend SPF implementation to enhance domain protection and reduce risks.

Overview

Definition and Purpose

The Sender Policy Framework (SPF) is a DNS-based that enables domain owners to specify, through TXT resource records, the IP addresses or hostnames authorized to send on behalf of their . This mechanism allows administrative management domains (ADMDs) to explicitly authorize hosts that may use their domain names in email identities, such as the "MAIL FROM" or "HELO" fields during SMTP transactions. The primary purpose of SPF is to detect and mitigate by permitting receiving mail servers to verify whether an incoming message originates from an authorized sending host, thereby blocking or flagging forged sender addresses. By checking the sender's against the 's published SPF record, it helps prevent unauthorized use of a domain in fraudulent emails, reducing the risk of distribution and attacks. SPF emerged in the early 2000s amid a rapid increase in unsolicited bulk email (spam), which by then constituted nearly half of global email traffic, often exploiting spoofed addresses to evade filters and deceive recipients. This period also saw the rise of phishing, with attacks targeting financial institutions like eBay and PayPal through mass spoofed emails that mimicked trusted sources to steal credentials. As a foundational element of domain-based email authentication, SPF complements other protocols to form a layered defense against such threats without relying on message content analysis.

Benefits and Use Cases

The Sender Policy Framework (SPF) provides significant advantages in email security by explicitly authorizing the hosts permitted to send mail on behalf of a domain, thereby reducing the incidence of that facilitates and attacks. This mechanism addresses a primary enabler of unsolicited email (UBE), allowing domain owners to publish DNS records that verify legitimate senders during the SMTP transaction, which in turn helps mail receivers reject unauthorized messages early in the delivery process. By preventing domain impersonation, SPF enhances overall email ecosystem integrity and mitigates the propagation of malicious content. A key benefit of SPF adoption is improved deliverability, as verified sender identities enable receivers to apply more nuanced local policies, bypassing aggressive filtering for authenticated mail and thereby increasing the likelihood of messages reaching intended inboxes. This builds sender reputation more reliably at the domain level compared to IP-based assessments, which can fluctuate due to shared infrastructure, leading to fewer legitimate emails being misclassified as . Additionally, SPF aids compliance with anti-abuse policies enforced by major providers, such as those requiring for bulk senders, helping organizations meet regulatory standards for practices. In practice, SPF serves critical use cases across various sectors. For instance, it protects brand reputation by blocking campaigns that spoof corporate domains, ensuring that unauthorized actors cannot leverage trusted identities to deceive recipients. Bulk email senders, such as those managing newsletters or marketing campaigns, use SPF to authorize third-party services like email service providers (ESPs), specifying their addresses in DNS records to maintain seamless deliverability without triggering filters. In corporate environments, integration of SPF into gateways strengthens perimeter defenses, allowing IT teams to enforce policies that suspicious while permitting verified internal and partner communications. Early SPF adoption in the 2000s by major ISPs contributed to clearer signals for legitimate traffic, helping to address rising spoofing volumes. Furthermore, facilitates forensic analysis of abuse incidents by enabling investigators to cross-reference failed results against DNS , tracing the origins of spoofed messages and supporting attribution in incident response.

History

Origins and Development

The Sender Policy Framework (SPF) emerged in 2003 amid rising concerns over forgery and , which had become pervasive threats to users and infrastructure. By the early , unsolicited bulk email was overwhelming systems, with forgery enabling spammers to impersonate legitimate domains in the SMTP envelope sender address, evading traditional filters. This period saw a notable escalation, including a 60% increase in complaints reported in 2003, fueling demands for proactive authentication mechanisms beyond reactive tools like blacklists. In June 2003, Meng Weng Wong, a Singapore-based entrepreneur, proposed the initial draft of what was then called "Sender Permitted From" on a newly created SPF-discuss mailing list, drawing from precursor ideas like Hadmut Danisch's RMX and Gordon Fecyk's Designated Mailer Protocol (DMP). This proposal originated within the collaborative efforts of the Anti-Spam Research Group (ASRG), an IRTF research group focused on combating spam through technical innovation. Wong's draft aimed to allow domain owners to explicitly authorize sending hosts via DNS TXT records, providing a scalable alternative to blacklists that often failed to scale against widespread forgery. Key early developments unfolded rapidly in 2003–2004, with community contributions refining the syntax and mechanisms. For instance, in August 2003, Wayne Schlitt introduced the "mx" operator to leverage existing MX records, while October saw ASRG-led unification of competing MAIL FROM proposals, culminating in Wong's October 10 draft introducing the familiar "v=spf1" format. These iterations addressed the limitations of prior anti-spam tools by enabling positive verification rather than mere exclusion, responding directly to the 2003 spam surge that highlighted the inadequacies of blacklist-based approaches. Initial deployments began by December 2003, marking SPF's shift from conceptual discussions to practical experimentation. By early 2004, the project transitioned into the IETF's working group, evolving from ad-hoc ASRG efforts toward broader standardization while retaining its core focus on forgery prevention.

Standardization and Evolution

The formal standardization of the Sender Policy Framework () occurred outside the IETF's working group, which was chartered in 2004 to develop mechanisms but disbanded later that year due to lack of on competing proposals like SPF and Sender-ID. Following this, SPF advanced independently through the IETF process, with version 1 published as an experimental in 4408 in April 2006, allowing domains to authorize email-sending hosts via DNS records. This experimental status enabled widespread testing and refinement based on real-world deployment feedback. In April 2014, RFC 7208 obsoleted RFC 4408 and advanced to standards track status, incorporating lessons from nearly a of . Key evolutions included resolving ambiguities in record evaluation and macro expansion, introducing the "exp" modifier to provide human-readable explanation strings for policy failures, and clarifying handling of to mitigate issues with mediators like mailing lists. These updates also deprecated underused features, such as the dedicated SPF DNS resource record type (deprecated in favor of records as specified in RFC 7208) and the "ptr" mechanism, to streamline adoption while preserving core functionality. Post-RFC 7208 developments have focused on maintenance and broader ecosystem integration rather than major revisions, with the IETF's spfbis concluding its efforts upon publication of the standards-track document. Errata have addressed minor technical issues, such as DNS lookup limits and syntax edge cases, with verified corrections published through the RFC Editor up to the present. By the , SPF integrated into complementary standards like (RFC 7489, 2015), which builds on SPF results for domain-wide policy enforcement, and saw adoption by major email providers including and , who began supporting SPF checks in their services around 2004-2010 to combat spoofing. Into the , community-driven clarifications via IETF mailing lists and tools have emphasized best practices for compliance, culminating in stricter enforcement policies by providers like (starting February 2024 for bulk senders) to require valid SPF alignment.

Operational Principles

Core Mechanism

The Sender Policy Framework (SPF) authenticates messages by allowing administrators to specify, via DNS records, which mail servers are authorized to send on behalf of their . When an is received, the receiving Mail Transfer Agent (MTA) initiates the SPF check by querying the DNS TXT records of the identified in the 's envelope sender address, provided by the SMTP MAIL FROM command. This query retrieves the SPF record, which contains a list of mechanisms defining authorized sending hosts or IP addresses. The receiving MTA then evaluates whether the IP address of the sending client matches any of these mechanisms, such as IP addresses (A or MX records) or explicit IP networks. The authentication logic centers on determining if the sending client's IP address is explicitly authorized by the domain's SPF policy. If a match is found through a mechanism marked with a passing qualifier (typically "+"), the result is PASS, indicating the sender is authorized. Conversely, a explicit non-match with a failing qualifier ("-") yields FAIL, signaling unauthorized sending. Other outcomes include SOFTFAIL ("~") for suspicious but not definitively unauthorized senders, NEUTRAL ("?") when no strong policy is asserted, NONE if no SPF record exists for the domain, TEMPERROR for transient issues like DNS timeouts, and PERMERROR for permanent errors such as invalid syntax in the record. This evaluation process relies solely on the envelope sender domain, not the message's header From field, to prevent spoofing at the SMTP transaction level. In cases where the MAIL FROM address is null (e.g., in SMTP bounces, indicated by "<>"), SPF uses a special rule: it checks the domain from the HELO or EHLO command as a fallback identity, appending "postmaster" to form a synthetic sender for the query. The high-level flow of the core mechanism proceeds as follows: the receiving MTA issues a DNS TXT query for the relevant domain → retrieves and parses the SPF record → sequentially evaluates the mechanisms against the sending IP until a match or policy conclusion is reached → produces one of the defined results to inform acceptance, rejection, or further processing of the email. This mechanism enables receivers to enforce domain policies without requiring changes to sending infrastructure beyond DNS configuration.

DNS Query Process

The DNS query process in Sender Policy Framework (SPF) validation initiates with the identification of the relevant domain from the email's envelope sender (MAIL FROM) or the sending 's HELO/EHLO identity, typically the apex domain such as example.com. A DNS query is then performed specifically for records at this domain using the TXT resource record type. If the query encounters a transient , such as a DNS (RCODE 2) or timeout, the process returns a TEMPERROR result, indicating a temporary issue that may resolve on retry without intervention. Upon receiving the TXT records, any records not beginning with the exact prefix "v=spf1 " are discarded, ensuring only valid SPF records are considered. If multiple strings appear within a single , they are concatenated without additional spaces before . Should more than one valid SPF record (starting with "v=spf1 ") be found across the returned TXT records, the evaluation immediately results in a PERMERROR, as domains must publish at most one such record to avoid ambiguity. Malformed records that start with "v=spf1 " but contain syntax errors trigger a PERMERROR during subsequent , halting evaluation. In the absence of any valid SPF record, the process yields a "none" result, proceeding to default handling. Further DNS queries may arise during evaluation of SPF mechanisms, such as "include:", "a", "", "ptr", "exists", or "redirect", which reference additional domains or records; however, the total number of such lookups is strictly limited to 10 per SPF check to mitigate denial-of-service risks from loops or excessive queries. Exceeding this limit, or encountering more than two void lookups (non-existent domains with RCODE 0 but no answers or RCODE 3), results in a PERMERROR. For mechanisms like "" or "ptr", no more than 10 address records (A or ) are queried per instance to enforce efficiency. The entire evaluation should complete within approximately 20 seconds; timeouts beyond this invoke TEMPERROR. Although SPF does not mandate DNSSEC validation, integrating DNSSEC is recommended to authenticate TXT records and prevent spoofing attacks that could forge authorization results. This optional layer ensures the integrity of queried data, aligning with broader DNS security practices outlined in related standards.

Evaluation Results

The Sender Policy Framework (SPF) evaluation process yields one of seven standardized result codes, each indicating the outcome of the check against a domain's published SPF record. These results guide receiving mail transfer agents (MTAs) in determining whether to accept, reject, or otherwise handle incoming . The definitions are as follows: PASS occurs when the sending is explicitly authorized by the domain's SPF record, confirming the sender's legitimacy; FAIL indicates that the sending is not authorized and the domain explicitly rejects it; SOFTFAIL signals a suspicious sender that is likely unauthorized but allows for transitional or cautious handling rather than outright rejection; means the domain makes no assertion about , often due to a policy like "?all"; NONE results when no SPF record exists for the ; TEMPERROR arises from transient issues, such as temporary DNS failures; and PERMERROR denotes permanent errors, like syntactically invalid records that cannot be processed. Policy enforcement is determined by the domain owner's choice of default mechanism in the SPF record, such as "~all" for SOFTFAIL or "-all" for FAIL, which specifies the outcome for any sending not explicitly matched. Receiving MTAs interpret these results according to policies, with no universal mandate: a typically leads to and normal delivery; FAIL often triggers rejection via SMTP code 550 or marking for review; SOFTFAIL may result in , closer scrutiny, or delivery with warnings; NEUTRAL and NONE generally permit but with reduced trust; TEMPERROR might prompt temporary deferral using SMTP 451; and PERMERROR usually causes rejection similar to FAIL. This flexibility allows administrators to balance against deliverability risks. Forwarding scenarios, such as mailing lists or automated redirects, can inadvertently trigger FAIL or SOFTFAIL if the forwarder retains the original envelope sender, as the forwarding may not be authorized. To mitigate this and preserve legitimate forwards, MTAs are recommended to add a Received-SPF header during , documenting the result without altering the message flow, and forwarders may rewrite the envelope sender to their own domain. Results are systematically recorded in headers for and , primarily via the Received-SPF header, which prepends to the message and includes the result code, explanation (e.g., "pass (domain designates 192.0.2.1 as permitted sender)"), and key details like the client , envelope sender, and SPF record identity. This logging enables recipients and administrators to audit SPF checks without relying on logs alone.

Record Syntax and Components

Mechanisms

The mechanisms in Sender Policy Framework (SPF) records define the sets of IP addresses authorized to send on behalf of a , enabling domain administrators to specify legitimate mail servers through DNS lookups or direct IP ranges. These mechanisms form the core building blocks of an SPF record, which is published as a in the domain's DNS. They are evaluated from left to right until a is found or the record is exhausted, with each mechanism potentially triggering DNS queries subject to a of 10 lookups to prevent abuse. The 'a' mechanism authorizes addresses listed in the A (or for ) records of a specified . It matches if the sending server's is among those resolved for the , allowing owners to permit from their own or application servers. The syntax is a[:domain-spec][dual-cidr-length], where domain-spec defaults to the checked if omitted, and dual-cidr-length optionally narrows the match to a (e.g., /24 for IPv4). For example, a alone would match IPs from the 's A records. The 'mx' mechanism authorizes IP addresses associated with the mail exchanger (MX) records of a domain, targeting the primary email servers. It resolves the MX records first, then performs A/AAAA lookups on up to 10 MX hosts to obtain their IP addresses and check the sending IP. The syntax is mx[:domain-spec][dual-cidr-length], similar to 'a', and is useful for domains relying on dedicated mail hosts. An example is mx, which defaults to the checked domain's MX IPs. This mechanism is limited to prevent excessive DNS queries. The 'ip4' and 'ip6' mechanisms directly specify or ranges without DNS lookups, providing precise control for static IP assignments. 'ip4' matches if the sending falls within an IPv4 network, using syntax ip4:ip4-network[/ip4-cidr-length] (default /32 if no CIDR is given), such as ip4:192.0.2.0/24 to authorize a Class C subnet. Similarly, 'ip6' uses ip6:ip6-network[/ip6-cidr-length] (default /128), for example ip6:2001:db8::/32 for an block. These are efficient for third-party services with known IP ranges. The 'exists' mechanism performs a simple by querying for an A record (or if ) of a specified , matching if any is returned regardless of the sending server's . It is often used for arbitrary lookups in dynamic environments, with exists:domain-spec, such as exists:_spf.example.com where the resolves to the sender's . This provides flexibility but counts toward the DNS lookup limit. The 'include' mechanism incorporates the SPF record of another domain, recursively evaluating its mechanisms to expand the authorized set. It matches if the included record results in a ; otherwise, evaluation continues. The syntax is include:domain-spec, for example include:_spf.google.com to authorize Google's mail servers. This is common for delegating policy to service providers but can increase lookup depth, limited to 10 total. The 'ptr' mechanism, which matches if the sending IP's PTR (reverse DNS) record resolves to a hostname in the specified domain (and vice versa), is deprecated due to its inefficiency, unreliability from inconsistent DNS setups, and vulnerability to spoofing. Its syntax is ptr[:domain-spec], but RFC 7208 strongly discourages its use, recommending alternatives like 'a' or 'exists' instead; if more than 10 PTR records are returned, a PERMERROR results; otherwise, it performs an A or AAAA lookup for each PTR record's domain name, subject to the overall DNS lookup limit. A common example SPF record is v=spf1 a mx -all, which authorizes IPs from the domain's A and MX records, applying a fail policy to any non-match via the 'all' mechanism (which always matches but is qualified here for termination). Mechanisms may be prefixed with qualifiers like '+' (, default), '-' (fail), '~' (), or '?' () to influence the outcome.

Qualifiers and Modifiers

In the Sender Policy Framework (SPF), qualifiers are optional prefixes applied to mechanisms or the "all" directive to specify the outcome when a sending matches or fails to match the associated criteria. The four qualifiers are "+" for (the , authorizing the sender), "-" for fail (explicitly rejecting unauthorized senders), "~" for softfail (indicating suspicion but allowing with caution), and "?" for (making no assertion about authorization). These qualifiers refine the policy enforcement by determining how receiving mail servers handle matches during evaluation. For example, the qualifier "~" combined with "all" as "~all" instructs servers to softfail any not explicitly listed in preceding mechanisms, which is useful for transitional policies without immediate rejection of legitimate mail. Similarly, "-all" enforces a strict fail for non-matches, ideal for domains with tightly controlled sending infrastructure. The "?" qualifier, applied as "?all", provides no policy guidance, often used in scenarios where domains prefer not to influence delivery decisions. Best practices recommend limiting the use of "?" in strict policies to avoid weakening overall authentication, as it offers no protection against spoofing. Modifiers, in contrast, are name-value pairs that extend or alter the record's behavior without directly affecting match outcomes. The "redirect" modifier, formatted as "redirect=domain-spec", causes the evaluation to fall back to the SPF of the specified if no mechanisms in the current record match, enabling policy inheritance across related domains. For instance, "redirect=example.net" at the end of a record directs checkers to example.net's , which is particularly helpful for subdomains or shared infrastructures. This modifier is ignored if an "all" mechanism is present and should typically be placed last in the record. The "exp" modifier, written as "exp=domain-spec", points to a TXT record containing an explanation URL or message that is retrieved and provided to the sender only upon a fail result. An example is "exp=explain.example.com", where the TXT record at that domain might include details like "For more information, visit https://example.com/spf-fail".[](https://datatracker.ietf.org/doc/html/rfc7208#section-6.2) This aids in user education without impacting non-fail evaluations and must use US-ASCII characters. Modifiers like these should be limited to one instance per type and positioned at the record's end to ensure clean processing.

Syntax Rules

The Sender Policy Framework (SPF) record is a single DNS TXT resource record that begins with the version identifier v=spf1, followed by one or more space-separated terms consisting of directives and modifiers, and optionally ending with trailing spaces. The formal grammar for the record is defined in Augmented Backus-Naur Form (ABNF) as record = version terms *SP, where version = "v=spf1" and terms = *( 1*SP ( directive / modifier )), ensuring that terms are processed sequentially from left to right. Multiple SPF records for the same domain result in a permanent error (PERMERROR) during evaluation, as only one record is permitted. Parsing of an SPF record adheres to strict rules to maintain and predictability. Each term is evaluated in sequence, with the process allowing a maximum of 10 DNS lookups across the entire evaluation; exceeding this limit triggers a PERMERROR. Invalid terms, such as those with unrecognized syntax or malformed components, also cause a PERMERROR, preventing further and ensuring that only well-formed records are considered valid. The record must be retrieved solely via records, and any syntax errors in the overall structure lead to a PERMERROR outcome. Escaping and quoting mechanisms in SPF records handle special characters and expansions within domain specifications and other string elements. Spaces and other whitespace in macro literals are preserved as part of the expansion, but domain names themselves follow DNS label rules limiting them to 63 characters without embedded spaces unless enclosed in quoted strings for specific contexts like macro-string literals. Macro expansions, which substitute dynamic values during evaluation, use percent-sign notation such as %{s} for the sender or %{d} for the checked , with literal percent signs escaped as %% to avoid interpretation as macros. The macro-string production is formally defined as macro-string = *( macro-expand / macro-literal ), where macro-literals can include escaped characters like \% for a literal , ensuring precise without unintended delimitations. SPF supports only the v=spf1 version identifier, with any other version prefix treated as invalid and resulting in a PERMERROR, providing no for prior experimental versions like those in obsolete specifications. This versioning rule ensures uniformity in deployment and evaluation across implementations.

Implementation Guide

Creating SPF Records

Creating an SPF record begins with identifying all authorized email senders for a domain, including the domain owner's own mail servers and any third-party services used for sending s. This involves listing the IP addresses or hostnames of internal servers, typically represented by mechanisms such as a for A records or mx for MX records, and incorporating external providers via the include mechanism for their designated SPF records. For instance, if a domain uses its own servers, the record might authorize them with a or mx; for third-party email service providers (ESPs), consult the provider's documentation for the current include directive (e.g., include:sendgrid.net for SendGrid), as requirements can change over time with shifts toward DKIM authentication. Once authorized senders are identified, the SPF record is authored by starting with the version tag v=spf1, followed by the selected s and qualifiers, and concluding with a default such as ~all (softfail) or -all (fail) to specify the action for unauthorized senders. It is recommended to begin with a soft like ~all during initial deployment to monitor and identify legitimate senders without rejecting emails, then harden to -all after verification to enforce strict . The record must adhere to basic syntax rules, such as those outlined in the Record Syntax and Components section, while keeping the total length under 512 octets to avoid DNS issues. Publishing the SPF record requires adding it as a TXT resource record (type 16) in the domain's , typically at the of the domain (e.g., example.com TXT "v=spf1 ..."). DNS providers vary in interfaces, but the process generally involves logging into the DNS management console, creating a new TXT record with the host as @ or empty, and pasting the full SPF string as the value. After publication, may take up to 48 hours, though it often occurs faster. Verification ensures the record is correctly published and resolvable. Use the dig command-line tool to query the TXT record, such as dig TXT [example.com](/page/Example.com), which should return the SPF string if successful. Online validators, like those from MxToolbox or EasyDMARC, can further check syntax, lookup limits, and potential errors by entering the domain name. Common templates simplify creation for typical setups. For small domains relying solely on their own servers, a basic record like v=spf1 a -all authorizes emails from the domain's A record IPs and fails others. Enterprises using multiple services might use v=spf1 include:_spf.google.com include:spf.protection.outlook.com -all to incorporate and senders alongside internal ones. These examples assume a strict policy; adjust includes based on actual providers.

Integration with Email Systems

Integrating (SPF) with email systems involves configuring Mail Transfer Agents (MTAs) to validate incoming mail against SPF records and setting up outbound mail flows to align with published SPF policies. This ensures that receiving servers can authenticate senders effectively, reducing spoofing risks as outlined in RFC 7208. For inbound mail validation, MTAs like Postfix typically use policy services or milters to enforce SPF checks. In Postfix, administrators install the postfix-policyd-spf-python package and configure it via the smtpd_recipient_restrictions parameter in main.cf. For example, the configuration might include:
smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    check_policy_service unix:private/policyd-spf
This setup invokes the SPF policy daemon during the recipient phase, rejecting mail that fails SPF validation (e.g., with a "fail" result). Additionally, add the service to master.cf:
policyd-spf  unix  -       n       n       -       0       spawn
    user=policyd-spf argv=/usr/bin/policyd-spf
Such integration allows Postfix to query DNS for the sender's domain and apply actions based on SPF outcomes. Exim provides native SPF support when compiled with SUPPORT_SPF=yes, utilizing the libspf2 library for verification. Configuration occurs in the Lists (ACLs), typically in the MAIL ACL, using the spf condition. An example denial rule is:
deny spf = fail
     message = $sender_host_address is not allowed to send mail from ${if def:sender_address_domain {$sender_address_domain}{$sender_helo_name}}. Please see http://www.open-spf.org/Why
This checks the sender's against the domain's record and rejects failing connections, with results stored in variables like $spf_result for logging or header addition. Sendmail integrates SPF through milters, such as spfmilter, which implements checks using libspf2. Administrators compile and install the milter, then reference it in sendmail.mc with INPUT_MAIL_FILTER (e.g., define(INPUT_MAIL_FILTER', spfmilter')dnl), regenerating sendmail.cf afterward. This filters inbound SMTP sessions, adding rejection logic for SPF failures. On the publishing side, organizations configure outbound MTAs to send from IP addresses or servers authorized in their SPF DNS records, often using mechanisms like a, mx, or ip4 to list permitted sources. For cloud services, integration with Amazon Simple Email Service (SES) requires adding include:amazonses.com to the domain's SPF TXT record, authorizing SES's IP ranges without listing them explicitly. This setup ensures emails sent via SES pass SPF checks at recipients, improving deliverability. For instance, a basic SPF record might read: v=spf1 include:amazonses.com -all. MTAs handling inbound mail commonly insert a Received-SPF header to document validation results, enhancing transparency especially in forwarding scenarios. As specified in RFC 7208, this header records the outcome (e.g., "" or "fail"), the checking identity, and details like client and envelope sender, prepended to the message's trace information. For example:
Received-SPF: [pass](/page/Pass) (example.org: domain of sender@[example.com](/page/Example.com) designates 192.0.2.1 as permitted sender) client-ip=192.0.2.1; envelope-from="sender@[example.com](/page/Example.com)"
This allows downstream systems or users to review authentication status without re-performing checks. Automation tools simplify SPF integration for managed environments. Services like PowerDMARC offer SPF record generators and wizards that analyze existing DNS setups, suggest authorized includes (e.g., for cloud providers), and automate record publication via integrations with DNS hosts. These tools handle flattening complex records to avoid DNS lookup limits, ensuring compliance during configurations.

Testing and Troubleshooting

Testing SPF records involves using diagnostic tools to validate syntax, evaluate DNS lookups, and simulate checks. Online tools such as MXToolbox provide a SPF record lookup and that retrieves the for a , checks for syntax errors, and identifies configuration issues that could impact email delivery. Similarly, the SPF Query Tool developed by Scott Kitterman performs syntax validation and assesses performance by simulating evaluations from different addresses, helping to detect potential failures before deployment. For command-line verification, administrators can use tools like dig TXT example.com to query the DNS directly and inspect the returned SPF record for correctness. To further validate functionality, sending test emails to external recipients and examining the email headers is essential. The Authentication-Results header in received emails indicates the SPF evaluation result, such as "" if the sending matches an authorized or "fail" otherwise, allowing confirmation that the record authorizes legitimate senders. These methods ensure the SPF record is not only present but also effective in preventing unauthorized use. Troubleshooting common issues begins with interpreting error types from SPF evaluations, as defined in RFC 7208. A PERMERROR, for instance, signals permanent failures like syntax errors, multiple SPF records for the same domain, or exceeding the DNS lookup limit, requiring DNS operator correction rather than transient fixes. If the lookup limit of 10 DNS queries (for mechanisms like include, a, mx, ptr, exists, and redirect) is exceeded, the evaluation aborts with PERMERROR; reducing includes or flattening records by consolidating third-party authorizations can resolve this. Mismatched IPs often stem from outdated mechanisms, verifiable by re-evaluating the record against the sending server's IP using tools like MXToolbox, while forwarding loops may arise from recursive include directives that chain excessively, detectable through DNS query traces. For void lookups—DNS responses with no data (NOERROR empty) or NXDOMAIN—RFC 7208 limits them to two per evaluation to prevent ; exceeding this triggers PERMERROR, and logging DNS queries can pinpoint faulty includes or non-existent domains. In debugging scenarios, IPv6 mismatches occur if the record uses ip6 mechanisms without corresponding records; verifying with dig AAAA ensures dual-stack compatibility. Third-party includes failing, such as those for services like (include:_spf.google.com), typically result from lookup exhaustion or invalid targets, resolvable by prioritizing flat IPs over recursive includes and testing incrementally. Best practices for ongoing validation include incorporating the [exp](/page/Exp) modifier to provide a URI for user-friendly error explanations, directing recipients to diagnostic resources without exposing sensitive details. Monitoring with Google Postmaster Tools offers aggregate metrics on SPF pass rates for emails delivered to Gmail, highlighting authentication trends and delivery errors to preempt issues across large volumes. Regular use of these tools, combined with explicit termination mechanisms like ?all during testing, facilitates proactive maintenance and minimizes deployment disruptions.

Limitations and Challenges

Technical Issues

The Sender Policy Framework (SPF) encounters several technical challenges stemming from its reliance on the (DNS), particularly with constraints. DNS TXT records are limited to 255 octets per character string, necessitating the splitting of longer SPF records into multiple concatenated strings without spaces to avoid truncation or invalidation during evaluation. This fragmentation can complicate record management and increase the risk of misconfiguration, as verifiers must correctly reassemble the full policy. Additionally, SPF's dependence on DNS lookups exposes it to vulnerabilities like cache poisoning attacks, where an attacker spoofs DNS responses to alter SPF results (e.g., changing a "fail" to a "pass"), a risk that persists without the deployment of DNS Security Extensions (DNSSEC) for validation. Forwarding scenarios present another inherent flaw in SPF's design, as the protocol evaluates the IP address of the final SMTP in the chain rather than the original sender. Legitimate forwards, such as those processed by s or resenders, often fail SPF checks because the forwarding 's IP is not authorized in the original domain's , resulting in false positives that reject valid messages. For instance, a mediator retaining the original "MAIL FROM" address will trigger a "fail" outcome based on its own unauthenticated IP, disrupting workflows without built-in mechanisms to distinguish benign forwards from unauthorized sends. SPF's optional checks on the HELO or EHLO identities, while recommended for additional , prove unreliable in practice due to their static nature and lack of enforcement. These identities often use fixed hostnames that do not dynamically reflect the sending , allowing easy spoofing without core integration, and they are not required for SPF compliance, limiting their utility as a fallback. As external parameters unvalidated during SMTP, HELO/EHLO data can mislead evaluations, particularly in environments with variable or shared . Scalability issues arise from SPF's strict limit of 10 DNS lookups per evaluation, imposed to prevent resource exhaustion but hindering complex enterprise configurations. Mechanisms like "include," "a," "mx," "ptr," and "exists" each count toward this cap, causing "permerror" results in setups with numerous authorized hosts or nested policies, such as those involving multiple subdomains or third-party services. This constraint forces organizations to flatten records or use flattening techniques, potentially compromising granularity in large-scale deployments.

Security Considerations

The Sender Policy Framework (SPF) provides a key security strength by enabling domain owners to explicitly authorize specific mail servers to send on their behalf, thereby preventing domain spoofing attacks where unauthorized parties forge the sender's in the . This mechanism aligns with zero-trust models, which require continuous verification of sender authenticity rather than implicit trust based on network origins, helping to mitigate and business compromise by ensuring only approved addresses or can claim the sender's identity. However, SPF has notable weaknesses due to its reliance on DNS records without inherent or protection, making it vulnerable to where attackers manipulate query responses to falsify authorization results, such as altering a "fail" to a "pass." It is also incomplete against certain forgery techniques, such as Reply-To header manipulation, where the envelope sender passes SPF checks but the visible reply address spoofs the domain to elicit responses from victims. Additionally, SPF evaluations can expose risks through DNS queries that reveal sender and recipient details to third-party resolvers. To mitigate these risks, best practices include implementing DNSSEC to cryptographically secure DNS records against spoofing and tampering, as recommended for protecting SPF lookups. Administrators should apply strict policies like "-all" cautiously to avoid inadvertently blocking legitimate forwarded mail, and conduct regular audits of SPF records, particularly those using "include" mechanisms, to ensure all authorized senders are listed without exceeding the 10-lookup limit that could enable denial-of-service attacks. As of 2025, emerging threats to SPF include the need for quantum-resistant DNSSEC algorithms to counter potential future attacks from quantum computers that could break current used in DNS authentication, prompting ongoing IETF efforts to standardize post-quantum signatures for DNS records. Additionally, attacks exploiting macro expansions in SPF records—such as crafting inputs to trigger excessive computations or lookups during expansion—pose denial-of-service risks, though these are limited by SPF's evaluation constraints.

Deployment Obstacles

Despite its effectiveness in preventing , the Sender Policy Framework (SPF) faces several barriers to widespread deployment, particularly among smaller organizations and those reliant on outdated infrastructure. For small domains, managing SPF records is often complex due to the need to account for multiple email-sending services, such as hybrid on-premises and cloud-based systems like or , which can involve integrating up to a dozen hosted providers without clear visibility into all sending practices. Legacy systems exacerbate this resistance, as they frequently include outdated mechanisms like unnecessary "a" or "mx" DNS entries that do not align with modern hosted environments, leading to misconfigurations and reluctance to update. Globally, enforcement remains incomplete, with only about 50-60% of the top 10 million domains publishing SPF records as of 2024, reflecting slow progress in the amid these practical hurdles. Adoption has continued to grow in 2025, with (which builds on SPF) reaching 47.7% among top domains, a 75% increase since 2023. Adoption trends show stronger uptake among large enterprises, driven by dedicated IT resources and the need to protect high-value domains; for example, 93.8% of companies have implemented valid records as of mid-2025, implying widespread usage as a prerequisite. Regulatory pressures have further accelerated this, with frameworks like the EU's GDPR and Canada's CASL indirectly promoting protocols including to ensure data protection and consent compliance, though they do not mandate it explicitly. By 2025, major providers such as and have imposed requirements for high-volume senders to implement alongside DKIM and (at minimum p=none policy), boosting adoption; for instance, approximately 74% of top U.S. and Canadian domains have valid records as of early 2025. Surveys indicate improving authentication outcomes, with SPF failure rates declining as adoption rises—global valid SPF records reached approximately 37% among 10 million domains in Q2 2025—yet persistent "none" results remain common due to absent or malformed records affecting 39% of top 1 million domains as of 2024. Regional variations highlight this uneven progress, with higher adoption in the (e.g., 74% of French .fr domains in 2024) compared to lower rates in Asia, where regulatory emphasis on authentication is less uniform. Looking ahead, increasing DMARC alignment mandates from providers and governments are expected to drive further SPF enforcement, potentially elevating global adoption beyond 60% by aligning it with stricter anti-phishing policies.

Comparison with DKIM and DMARC

The Sender Policy Framework (SPF) differs fundamentally from (DKIM) in its validation approach. SPF authenticates the envelope sender by verifying the sending against DNS records published by the domain owner, focusing on authorizing the originating host without examining the message content. In contrast, DKIM provides message integrity and origin through cryptographic signatures applied to selected headers and the body, retrieved via public keys in DNS, but it performs no validation. SPF also contrasts with (), which extends SPF and DKIM by incorporating domain alignment, policy enforcement, and reporting. While SPF evaluates the RFC 5321 MAIL FROM independently and lacks mechanisms for handling misalignment with the visible From header or providing feedback, DMARC requires at least one of SPF or DKIM to pass with proper alignment to the RFC 5322 From , then applies published policies such as or reject on failure. For instance, DMARC introduces aggregate and forensic reports to notify owners of authentication outcomes, addressing SPF's silence on enforcement and visibility issues. In practice, , , and form a complementary authentication stack, with their combined deployment recommended for robust . and can independently pass, but may still fail if the authenticated domains do not align with the From header—for example, an pass on a mismatched MAIL FROM could trigger a policy violation, preventing spoofing attempts that exploit isolated checks. This layered approach mitigates limitations in any single protocol, such as 's vulnerability to forwarding scenarios. DMARC evolved as a successor to , formalized in 7489 in 2015, by integrating policy controls and reporting to enable scalable beyond SPF's basic .

Complementary Anti-Spam Tools

The Sender Policy Framework () serves as a foundational layer in by verifying sender addresses against domain-published records, but it does not address message content, forwarding scenarios, or sender reputation. Complementary tools enhance SPF by tackling these gaps, forming a multi-layered defense against and . These include protocols for visual brand verification, preservation of authentication during relays, reputation-based blocking, and techniques. Brand Indicators for Message Identification (BIMI) complements by enabling the display of verified brand logos in email clients for authenticated messages, incentivizing robust implementation as part of a policy requiring alignment. BIMI relies on and other methods to confirm message legitimacy before rendering indicators, thus promoting adoption while adding a user-facing layer that alone cannot provide. Authenticated Received Chain (ARC) addresses SPF's vulnerability to breakage during or relaying, where intermediaries alter the path and invalidate SPF checks. ARC creates a signed , preserving original SPF results across handlers, allowing final recipients to validate the message's authenticity despite modifications. This is particularly useful for mailing lists or gateways, where SPF failures would otherwise lead to false negatives. IP blacklisting services, such as those provided by Spamhaus, extend by evaluating sender IP reputation independently of domain authorization, blocking traffic from known sources even if SPF passes. Spamhaus recommends integrating these real-time DNS-based blocklists (DNSBLs) with SPF checks during inbound filtering to reject connections from compromised or abusive IPs, enhancing protection against volume-based attacks that evade SPF's . For example, the Spamhaus Blocklist (SBL) targets IPs involved in distribution, complementing SPF's focus on legitimate senders. Content filtering and -based spam detection fill SPF's gap in analyzing email body, attachments, or behavioral patterns, using algorithms to classify messages beyond sender validation. models, such as those employing Naive Bayes or neural networks, adapt to evolving tactics by training on features like keywords or structures, achieving detection rates often exceeding 95% when layered with SPF. In practice, systems like Defender for Office 365 apply SPF as an initial filter before routing to ML classifiers for deeper inspection. SPF integrates into broader anti-spam stacks as the first layer, often preceding checks and in zero-trust architectures. For instance, gateways may enforce SPF pass/fail thresholds before querying blocklists or ML engines, reducing false positives and computational load. This multi-tool approach mitigates SPF's limitations in handling content spoofing or poor- senders, with reporting providing visibility into combined efficacy.

References

  1. [1]
    RFC 7208 - Sender Policy Framework (SPF) for Authorizing Use of ...
    This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby ADministrative Management Domains (ADMDs) can explicitly authorize the ...
  2. [2]
    SPF: Project Overview
    Welcome to the Sender Policy Framework project! Read an introduction to what SPF is, or about how SPF fits into the bigger picture of e-mail authentication.SPF Record Syntax · Tools · Recent Changes · NewsMissing: history | Show results with:history
  3. [3]
    [PDF] Email Authentication Mechanisms: DMARC, SPF and DKIM
    The SPF module gets the correspondent's SPF record from the DNS and authenticates the envelope From and IP addresses against the sequence of mechanisms in the ...
  4. [4]
    A Large-Scale Study on SPF Configuration in the Wild - arXiv
    Feb 12, 2025 · Our analysis shows a growing adoption, with 56.5 % of the domains providing SPF records. However, we also uncover notable security issues: First ...
  5. [5]
    [PDF] Businesses Can Help Stop Phishing and Protect their Brands Using ...
    A sending domain implements SPF by adding to its Domain Name System (DNS) record the IP address(es) it uses to send email originating from the domain.<|separator|>
  6. [6]
    What Is SPF? - Sender Policy Framework Defined | Proofpoint US
    The Sender Policy Framework (SPF) is an email authentication protocol that prevents email spoofing by checking if emails come from authorized domains.
  7. [7]
    The History of Digital Spam - Communications of the ACM
    Aug 1, 2019 · In this article, I will briefly review the history of digital spam: starting from its quintessential incarnation, spam emails, to modern-days forms of spam.
  8. [8]
    The History of Phishing Attacks | Verizon Business
    By 2003, phishers started registering domain names that were slight variations on legitimate commerce sites, such eBay and PayPal, and sending mass mailings ...
  9. [9]
    What Is Email Authentication? Methods & How it Works | Proofpoint US
    Sender Policy Framework (SPF)​​ This protocol helps prevent phishing attacks and improves email deliverability by ensuring emails come from legitimate sources. ...
  10. [10]
    RFC 4408 - "Sender Policy Framework (SPF) for Authorizing ... - IETF
    This document is largely based on the work of Meng Weng Wong and Mark Lentczner. Although, as this section acknowledges, many people have contributed to ...
  11. [11]
    Internet Fraud Complaints Rise 60 Percent in 2003 - TechNewsWorld
    Dec 30, 2003 · The past year was a good year for bad guys on the Web. Fraud complaints surged 60 percent to 120,000 from 75,000 a year ago, according to ...
  12. [12]
    History/SPF-2003
    May 16, 2006 · In June 2003 Meng Weng Wong posted the very first version of "Sender Permitted From" as a first message on new mail list. This text is clearly a ...Missing: MARID | Show results with:MARID
  13. [13]
    The History of SPF - Dmarcian
    Mar 18, 2019 · In June 2003 Meng Weng Wong posted the very first version of “Sender Permitted From” as a first message on a new mail list. This text is clearly ...Missing: origins | Show results with:origins
  14. [14]
    MTA Authorization Records in DNS (marid) - IETF Datatracker
    This working group will develop a DNS-based mechanism for storing and distributing information associated with that authorization.Missing: disbanded | Show results with:disbanded
  15. [15]
  16. [16]
  17. [17]
  18. [18]
  19. [19]
  20. [20]
    SPF Update (spfbis) - IETF Datatracker
    The Sender Policy Framework (SPF, RFC4408) specifies the publication of a DNS record which states that a listed IP address is authorized to send mail on behalf ...
  21. [21]
    RFC Errata Report » RFC Editor
    RFC 7208, "Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1", April 2014. Note: This RFC has been updated by RFC 7372, ...Missing: community 2020s
  22. [22]
  23. [23]
  24. [24]
  25. [25]
  26. [26]
  27. [27]
  28. [28]
  29. [29]
  30. [30]
  31. [31]
  32. [32]
  33. [33]
  34. [34]
  35. [35]
  36. [36]
  37. [37]
  38. [38]
  39. [39]
  40. [40]
  41. [41]
  42. [42]
  43. [43]
  44. [44]
  45. [45]
  46. [46]
  47. [47]
  48. [48]
  49. [49]
  50. [50]
  51. [51]
    What SPF Record Do I Need For My Domain? - PowerDMARC
    Sep 8, 2025 · Common examples include: Google Workspace: include:_spf.google.com; Microsoft 365: include:spf.protection.outlook.com; Mailchimp: include ...
  52. [52]
  53. [53]
  54. [54]
    Set up SPF - Google Workspace Admin Help
    Your SPF record should include the domains (or IP addresses) of all servers that send email for your organization (domain). In simple cases, all your email is ...Before you begin · Step 2: Determine your SPF... · Step 3: Add your SPF record to...
  55. [55]
  56. [56]
    SPF Check & SPF Lookup - Sender Policy Framework ... - MxToolbox
    The SPF Record Check is a diagnostic tool that acts as a Sender Policy Framework (SPF) record lookup and SPF validator.
  57. [57]
    Free SPF Lookup Tool - EasyDMARC
    EasyDMARC's SPF Checker lets you verify whether an SPF record exists on a domain's DNS and whether it's deployed correctly. It checks for correct syntax and ...
  58. [58]
  59. [59]
    Set up SPF identify valid email sources for your Microsoft 365 domain
    Sep 17, 2025 · Sender Policy Framework (SPF) is a method of email authentication that helps validate mail sent from your Microsoft 365 organization to prevent ...
  60. [60]
    RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of ...
    Contributors and Acknowledgements This document is largely based on the work of Meng Weng Wong, Mark Lentczner, and Wayne Schlitt. ... asrg/2003-03/ msg01525.html ...
  61. [61]
    Part 4: How to Set up SPF and DKIM with Postfix on Ubuntu Server
    Dec 5, 2022 · Step 1: Create an SPF Record in DNS · Step 2: Configuring SPF Policy Agent · Step 3: Setting up DKIM · Step 4: Create Signing Table, Key Table and ...
  62. [62]
    58. DKIM, SPF, SRS and DMARC - Exim Internet Mailer
    You must configure exim to submit forensic reports to the owner of the domain. If the DMARC record contains a forensic address and you specify the control ...
  63. [63]
    FreshPorts -- mail/spfmilter: SPF milter for sendmail
    Oct 22, 2017 · Spfmilter implements the Sender Policy Framework (SPF) as a sendmail milter, using either the libspf or libspf2 libraries.
  64. [64]
    Authenticating Email with SPF in Amazon SES
    Domain owners use SPF to tell email providers which servers are allowed to send email from their domains. SPF is defined in RFC 7208 . Messages that you ...
  65. [65]
    SPF Generator Tool - PowerDMARC
    PowerDMARC's SPF generator tool helps you set up SPF for your domains to start authorizing your sending sources. Using this automatic SPF creator tool, domain ...
  66. [66]
    SPF Record Testing Tools - Kitterman Technical Services
    These tools are meant to help you deploy SPF records for your domain. They use an actual RFC 7208 compliant library (pyspf) for tests.
  67. [67]
    What is SPF? - Valimail
    Sender Policy Framework (SPF) is an email standard that pioneered the concept of domain-based email authentication. Below, we'll walk you through everything ...What is SPF? · Why is SPF important to set up... · Troubleshooting common SPF...
  68. [68]
  69. [69]
    Sender requirements & Postmaster Tools FAQ - Google Help
    The Postmaster Tools Authentication dashboard provides detailed information about SPF and DKIM authentication. ... Monitor outgoing email with Postmaster Tools.
  70. [70]
  71. [71]
  72. [72]
  73. [73]
  74. [74]
  75. [75]
    Why email needs a zero-trust security model - Valimail
    Email needs a new approach to stopping bad actors: zero trust focuses on allowing good email rather than attempting to identify and block fraud messages.
  76. [76]
  77. [77]
  78. [78]
  79. [79]
    Post-Quantum Cryptography Strategy for DNSSEC - IETF
    Oct 16, 2025 · Security Considerations. The deployment of PQC algorithms strengthens DNSSEC against quantum attacks but introduces operational risks. Proper ...Missing: SPF macro
  80. [80]
    SPF Management Challenges - Dmarcian
    Mar 23, 2020 · In this article, our Deployment Team speaks primarily to the common challenges in regard to deploying SPF in the modern world of email authentication.
  81. [81]
    SPF adoption rates over time - Spam Resource
    Oct 7, 2024 · Here's the data in plain text. SPF records in the top ten million domains: Jun 2023: 4560988 (45.61% of 10 mil); Jul 2023: 5288720 (52.89 ...Missing: major | Show results with:major
  82. [82]
    DNS SPF Record Example Explained: Protect Your Domain from ...
    Oct 7, 2025 · Statistical Data: Adoption and Effectiveness of SPF in Email Security. Over 85% of Fortune 500 companies publish SPF records; Domains with ...
  83. [83]
    2025 Bulk Sender Requirements. How to Stay Compliant - Data Axle
    May 30, 2025 · All major ISPs now require brands to implement SPF, DKIM, and DMARC (with at least p=none) as a minimum standard for verifying their identity and protecting ...
  84. [84]
    DMARC Adoption among U.S. and Canada Retailers - Dmarcian
    Jan 31, 2025 · On the SPF front, an average of 26% of the top Canada and U.S. retail domains' SPF records were missing, malformed, or not following industry ...
  85. [85]
    The State of Email Trust: Global DMARC Adoption Trends in Q2 2025
    Aug 4, 2025 · SPF Adoption at a Glance. Out of the 10 million domains analyzed: 3,666,641 (36.7%) published a syntactically valid SPF record; 140,843 (1.4%) ...
  86. [86]
    SPF, DKIM, and DMARC in 2024: Analyzing the Top 1M Domains
    In our analysis, we found that 39% of the top 1 million domains lacked an SPF record. Interestingly, 77% of these domains were also missing MX records, ...Missing: history | Show results with:history
  87. [87]
    SPF, DKIM and DMARC: rapid rise in adoption across .fr - Afnic
    Nov 6, 2024 · 74.4% of them publish an SPF policy (compared to 57.8% in 2023); · 33.0% of them seem to have deployed DKIM (compared to 23.1% in 2023); · and ...
  88. [88]
    Global mandates and guidance for DMARC in 2026 - Red Sift
    Those sending over 5,000 emails a day must authenticate email-sending domains with TLS, DKIM, SPF, DKIM, or SPF alignment and have a DMARC policy of p=none.
  89. [89]
  90. [90]
    RFC 7489 - Domain-based Message Authentication, Reporting, and ...
    DMARC is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, ...
  91. [91]
    [PDF] M3AAWG Email Authentication Recommended Best Practices
    This document recommends a set of best practices for authenticating email messages using the security pro- tocols Sender Policy Framework (SPF), ...
  92. [92]
    draft-brand-indicators-for-message-identification-11 - IETF Datatracker
    Oct 9, 2025 · This document defines Brand Indicators for Message Identification (BIMI), which enables Domain Owners to coordinate with Mail Box Providers (MBPs), Mail ...
  93. [93]
    RFC 8617 - The Authenticated Received Chain (ARC) Protocol
    The Authenticated Received Chain (ARC) protocol provides an authenticated "chain of custody" for a message, allowing each entity that handles the message to ...
  94. [94]
    Effective strategies against inbound malicious email - Spamhaus
    Feb 15, 2024 · Alongside content inspection, email authentication checks should run to verify the source of incoming emails. There are two key authentication ...<|separator|>
  95. [95]
    Spamhaus Blocklist (SBL) | IP DNSBL for effective email filtering
    Spamhaus Blocklist contains IPs identified as sending spam, hosting malicious content, hijacking IP space, or acting like a bulletproof hosting company.About The Data · Get More Protection, For... · Best Practices To Maintain A...
  96. [96]
    Machine learning for email spam filtering: review, approaches and ...
    Our review compares the strengths and drawbacks of existing machine learning approaches and the open research problems in spam filtering.
  97. [97]
    Step-by-step threat protection in Microsoft Defender for Office 365
    Jul 28, 2025 · SPF can reject mails based on DNS TXT records that list IP addresses and servers allowed to send mail on the organization's behalf. DKIM ...Phase 1: Edge Protection · Phase 2 - Sender Intelligence
  98. [98]
    The Layers of an Email Security Tech Stack (Part 1 of 3) - Abusix
    Protection mechanisms include URL analysis, domain authentication checks (such as SPF, DKIM, DMARC), and machine learning to identify and quarantine suspicious ...
  99. [99]
    How to layer AI and zero trust for better enterprise email security
    Learn how enterprises build modern email security stacks by layering behavioral AI with zero trust authentication for complete protection.