The consensus among experts and documentation sources is that soft fail (`~all`) is generally the safer and more versatile option for SPF implementation. It allows for legitimate emails that may not perfectly align with the SPF record due to forwarding, third-party services, or misconfigurations to still be delivered. Hard fail (`-all`) is suitable only when you are absolutely confident in the accuracy of your SPF record, have a clear understanding of your mail flow, exclusively use direct mail flows, and are willing to risk rejecting legitimate emails. Some sources also suggest that the enforcement of SPF failures by large receivers may not be entirely reliable, adding another layer of complexity to the decision.
9 marketer opinions
The choice between SPF hard fail (`-all`) and soft fail (`~all`) depends on the sender's confidence in their SPF record accuracy and their tolerance for potential delivery issues. Soft fail is generally recommended for broader compatibility and to avoid rejecting legitimate emails due to forwarding or other exceptions. Hard fail is suitable for senders who are certain about their sending sources and want strict enforcement, understanding that this may lead to some legitimate emails being blocked.
Marketer view
Email marketer from URIports shares that if you receive direct emails only, and are fully aware of who is sending emails on your behalf, use Hard Fail. If you send emails using third-party services, use Soft Fail.
4 Aug 2021 - URIports
Marketer view
Email marketer from Reddit states that softfail is generally safer because it accounts for forwarding. If you use hardfail, forwarded emails are more likely to be marked as spam.
6 May 2022 - Reddit
3 expert opinions
Experts recommend assessing your confidence in your domain's sending practices before choosing between hard fail (`-all`) and soft fail (`~all`). If you're certain that all emails originate from your intended sources, hard fail provides stricter security. However, if you use third-party services or forwarding is common, soft fail is advised to avoid unintended rejections. Furthermore, some experts suggest that the actual enforcement of SPF failures by large receivers can be unreliable.
Expert view
Expert from Spam Resource explains that if you are confident that the only emails originating from your domain are the ones you intend, use `-all` (hard fail). If you use 3rd party services that send mail, you should use `~all` (soft fail).
11 Jul 2023 - Spam Resource
Expert view
Expert from Word to the Wise responds that if you use a hard fail and a forwarding service forwards mail, the forwarded message will fail SPF and may be rejected. Unless you fully understand SPF and email authentication, stick with soft fail (~all).
16 Sep 2022 - Word to the Wise
3 technical articles
Official documentation from Google, Microsoft, and DMARC.org generally recommends using softfail (`~all`) as the initial SPF policy. This approach is more forgiving, allowing for legitimate emails that may not perfectly align with the SPF record due to forwarding or other common issues. While hardfail (`-all`) offers stronger enforcement, it should only be considered once you are confident in the accuracy of your SPF record and have assessed your mail flow and tolerance for false positives, as it carries a higher risk of rejecting legitimate emails.
Technical article
Documentation from Google Workspace Admin Help explains that using `~all` (softfail) is generally recommended because it allows for legitimate email that might not perfectly align with your SPF record (due to forwarding or other issues) to still be delivered. Hardfail (`-all`) is stricter and might cause legitimate emails to be rejected.
28 Jul 2021 - Google Workspace Admin Help
Technical article
Documentation from DMARC.org shares that while hardfail (`-all`) provides stronger enforcement, softfail (`~all`) is often preferred to avoid inadvertently blocking legitimate email due to common issues like forwarding. They recommend assessing your mail flow and tolerance for false positives when making the decision.
29 Jun 2023 - DMARC.org
Can a sender modify SPF records to alter SPF checking behavior?
How do I properly set up SPF and DKIM records for email marketing, including handling multiple SPF records, IP ranges, bounce capturing, and Google Postmaster Tools verification?
How do SPF, DKIM, and DMARC email authentication standards work?
Should I change SPF from ~all to -all when using DMARC quarantine?
Should I use SPF hardfail or softfail with DMARC?
What are the considerations for using soft fail vs hard fail in SPF policies?