{"id":242,"date":"2026-09-25T11:58:39","date_gmt":"2026-09-25T18:58:39","guid":{"rendered":"https:\/\/hostandtech.com\/kb\/?p=242"},"modified":"2026-09-25T11:58:39","modified_gmt":"2026-09-25T18:58:39","slug":"how-to-create-spf-record","status":"publish","type":"post","link":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/","title":{"rendered":"How to Create an SPF Record (With Examples for cPanel, Google Workspace and Microsoft 365)"},"content":{"rendered":"<h2>Overview<\/h2>\n<p>An SPF record is a single TXT record on your domain that lists every server allowed to send email as you. It starts with <code class=\"\" data-line=\"\">v=spf1<\/code>, lists your senders, and ends with <code class=\"\" data-line=\"\">~all<\/code> or <code class=\"\" data-line=\"\">-all<\/code>. For a domain whose mail is hosted in cPanel, it looks like <code class=\"\" data-line=\"\">v=spf1 +a +mx +ip4:203.0.113.10 ~all<\/code>, with your server&#8217;s IP in place of the example address. If your website and mailboxes are both on Host &amp; Tech <a href=\"https:\/\/hostandtech.com\/cloudlinux-cpanel-shared-hosting\">cPanel shared hosting<\/a>, that one line is all you need.<\/p>\n<p>This guide shows how to create an SPF record that covers everything that sends mail for your domain, with copy-ready examples for cPanel hosting, Google Workspace, Microsoft 365 and Zoho, and for domains that never send mail. It also covers the two mistakes that break SPF without any obvious error: publishing two SPF records, and going over the 10-lookup limit.<\/p>\n<p>It&#8217;s written for domain owners and small business admins. If you&#8217;re on a VPS and want to set SPF, DKIM and DMARC for every account on the server, see <a href=\"https:\/\/hostandtech.com\/kb\/whm\/how-to-configure-email-authentication-whm-spf-dkim-dmarc\/\">how to configure email authentication in WHM<\/a>.<\/p>\n<h2>Prerequisites<\/h2>\n<ul>\n<li>Access to wherever your domain&#8217;s DNS is hosted: cPanel&#8217;s <strong>Zone Editor<\/strong> if your nameservers point to your hosting, otherwise your registrar or DNS provider (Cloudflare, GoDaddy and so on). Check which with <a href=\"https:\/\/hostandtech.com\/kb\/domains\/understanding-dns-records-a-cname-mx\/\">our guide to DNS records<\/a> if you&#8217;re unsure.<\/li>\n<li>Your hosting server&#8217;s IP address. It&#8217;s shown in cPanel&#8217;s <strong>General Information<\/strong> panel as the Shared IP Address, or in your client area.<\/li>\n<li>A list of every service that sends email using your domain. Step 1 helps you build it.<\/li>\n<\/ul>\n<h2>Step-by-Step: Create Your SPF Record<\/h2>\n<h3>Step 1: List everything that sends mail as your domain<\/h3>\n<p>SPF only works if the record covers every sender. Miss one and that service&#8217;s mail starts failing SPF the moment you publish. Go through this list:<\/p>\n<ul>\n<li>Your mailboxes: cPanel hosting, Google Workspace, Microsoft 365, Zoho or another provider.<\/li>\n<li>Your website: contact forms, WooCommerce order emails and password resets usually send from the hosting server, even when your mailboxes are with Google or Microsoft.<\/li>\n<li>Newsletter and marketing tools, helpdesks, CRMs, invoicing and booking systems.<\/li>\n<li>Printers, scanners or office systems that email reports.<\/li>\n<\/ul>\n<p>For each third-party service, look in its help pages for the SPF <code class=\"\" data-line=\"\">include:<\/code> value it asks you to add. Some newer services authenticate only with DKIM and don&#8217;t need to be in SPF at all.<\/p>\n<h3>Step 2: Build the record<\/h3>\n<p>An SPF record is built from these parts:<\/p>\n<table>\n<thead>\n<tr>\n<th>Part<\/th>\n<th>What it means<\/th>\n<th>Counts toward 10 lookups?<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code class=\"\" data-line=\"\">v=spf1<\/code><\/td>\n<td>Required first word. Marks the TXT record as SPF.<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><code class=\"\" data-line=\"\">ip4:203.0.113.10<\/code><\/td>\n<td>Allows one IPv4 address (or a range, e.g. <code class=\"\" data-line=\"\">\/24<\/code>).<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><code class=\"\" data-line=\"\">ip6:<\/code><\/td>\n<td>Allows an IPv6 address or range.<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td><code class=\"\" data-line=\"\">a<\/code><\/td>\n<td>Allows the IP your domain&#8217;s A record points to.<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td><code class=\"\" data-line=\"\">mx<\/code><\/td>\n<td>Allows the servers in your MX records.<\/td>\n<td>Yes<\/td>\n<\/tr>\n<tr>\n<td><code class=\"\" data-line=\"\">include:<\/code><\/td>\n<td>Allows everything in another domain&#8217;s SPF record.<\/td>\n<td>Yes, plus any lookups inside it<\/td>\n<\/tr>\n<tr>\n<td><code class=\"\" data-line=\"\">~all<\/code> \/ <code class=\"\" data-line=\"\">-all<\/code><\/td>\n<td>What to do with everyone else: soft fail or hard fail.<\/td>\n<td>No<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Pick the example that matches your setup and replace <code class=\"\" data-line=\"\">203.0.113.10<\/code> with your server&#8217;s IP.<\/p>\n<p>Mail and website both on cPanel hosting:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-1\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-1'><code class=\"\" data-line=\"\">v=spf1 +a +mx +ip4:203.0.113.10 ~all<\/code><\/pre>\n<\/div>\n<p>Mailboxes on Google Workspace, website on cPanel hosting:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-2\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-2'><code class=\"\" data-line=\"\">v=spf1 ip4:203.0.113.10 include:_spf.google.com ~all<\/code><\/pre>\n<\/div>\n<p>Mailboxes on Microsoft 365, website on cPanel hosting:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-3\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-3'><code class=\"\" data-line=\"\">v=spf1 ip4:203.0.113.10 include:spf.protection.outlook.com ~all<\/code><\/pre>\n<\/div>\n<p>Mailboxes on Zoho Mail, website on cPanel hosting:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-4\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-4'><code class=\"\" data-line=\"\">v=spf1 ip4:203.0.113.10 include:zohomail.com ~all<\/code><\/pre>\n<\/div>\n<p>A domain that never sends email (parked domains, redirects, old brand names):<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-5\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-5'><code class=\"\" data-line=\"\">v=spf1 -all<\/code><\/pre>\n<\/div>\n<p>Spammers favour domains with no SPF record at all. Publishing <code class=\"\" data-line=\"\">v=spf1 -all<\/code> on a domain you don&#8217;t send from tells receivers that nothing legitimate ever comes from it.<\/p>\n<p><strong>Note:<\/strong> The last three examples use <code class=\"\" data-line=\"\">ip4:<\/code> instead of <code class=\"\" data-line=\"\">+a +mx<\/code> on purpose. Once your mail is on Google, Microsoft or Zoho, your MX points at their servers, which the include already covers, and each <code class=\"\" data-line=\"\">a<\/code> or <code class=\"\" data-line=\"\">mx<\/code> costs a DNS lookup. <code class=\"\" data-line=\"\">ip4:<\/code> is also the right choice if your site sits behind Cloudflare&#8217;s proxy, because your A record then points at Cloudflare, not at the server that sends your mail.<\/p>\n<h3>Step 3: Choose ~all or -all<\/h3>\n<ul>\n<li><code class=\"\" data-line=\"\">~all<\/code> (soft fail) asks receivers to accept but distrust mail from unlisted servers. Start here. Google Workspace recommends it.<\/li>\n<li><code class=\"\" data-line=\"\">-all<\/code> (hard fail) asks receivers to reject it. Microsoft recommends it for Microsoft 365 domains that also have DKIM and DMARC.<\/li>\n<\/ul>\n<p>In practice, DMARC decides what finally happens to failing mail, so the difference is smaller than it looks. Publish with <code class=\"\" data-line=\"\">~all<\/code>, watch for a couple of weeks that everything legitimate passes, then move to <code class=\"\" data-line=\"\">-all<\/code> if you want to.<\/p>\n<h3>Step 4: Add the record in cPanel or at your DNS provider<\/h3>\n<p>In cPanel:<\/p>\n<ol>\n<li>Go to <strong>Domains<\/strong> &gt; <strong>Zone Editor<\/strong> and click <strong>Manage<\/strong> next to your domain.<\/li>\n<li>Filter by <strong>TXT<\/strong> and look for an existing record starting with <code class=\"\" data-line=\"\">v=spf1<\/code>. If there is one, click <strong>Edit<\/strong> and replace its value. Don&#8217;t add a second one.<\/li>\n<li>If there isn&#8217;t one, click <strong>Add Record<\/strong>, choose <strong>TXT<\/strong>, set the name to your domain (<code class=\"\" data-line=\"\">yourdomain.com.<\/code>), paste the record as the value and save.<\/li>\n<\/ol>\n<p>At a registrar or Cloudflare the fields are the same: type TXT, name <code class=\"\" data-line=\"\">@<\/code> (meaning the domain itself), value is the record, TTL on automatic. For more on the Zone Editor, see <a href=\"https:\/\/hostandtech.com\/kb\/cpanel\/how-to-set-up-dns-zone-cpanel\/\">how to set up a DNS zone in cPanel<\/a>.<\/p>\n<p><strong>Warning:<\/strong> Two TXT records that both start with <code class=\"\" data-line=\"\">v=spf1<\/code> make SPF fail for every message from your domain. When a service tells you to &#8220;add an SPF record&#8221;, merge its <code class=\"\" data-line=\"\">include:<\/code> into your existing record instead.<\/p>\n<h2>Verify your SPF record<\/h2>\n<p>After saving, check what the world sees. Changes usually show within minutes, but can take longer; see <a href=\"https:\/\/hostandtech.com\/kb\/domains\/understanding-dns-propagation-time\/\">DNS propagation time<\/a>.<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-6\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-6'><code class=\"\" data-line=\"\">dig TXT yourdomain.com +short | grep spf1<\/code><\/pre>\n<\/div>\n<p>On Windows:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-7\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-7'><code class=\"\" data-line=\"\">nslookup -type=txt yourdomain.com<\/code><\/pre>\n<\/div>\n<p>You should see exactly one line starting with <code class=\"\" data-line=\"\">v=spf1<\/code>. Then send a test message to a Gmail address, open it, and choose <strong>Show original<\/strong>. The summary at the top should read <strong>SPF: PASS<\/strong> with your sending IP. In Outlook.com, look for <code class=\"\" data-line=\"\">spf=pass<\/code> in the message headers.<\/p>\n<h2>Common Issues &amp; Troubleshooting<\/h2>\n<h3>SPF PermError: too many DNS lookups<\/h3>\n<p><strong>Cause:<\/strong> Receivers stop evaluating SPF after 10 DNS lookups and treat the record as broken. Each <code class=\"\" data-line=\"\">a<\/code>, <code class=\"\" data-line=\"\">mx<\/code> and <code class=\"\" data-line=\"\">include:<\/code> counts, and so does every lookup inside the included records. Three or four marketing tools plus Microsoft 365 can pass 10 quickly.<\/p>\n<p><strong>Fix:<\/strong> Remove services you no longer use, replace <code class=\"\" data-line=\"\">a<\/code> and <code class=\"\" data-line=\"\">mx<\/code> with the <code class=\"\" data-line=\"\">ip4:<\/code> address they resolve to, and check whether any service now authenticates with DKIM only. An online SPF checker will show the lookup count for your record.<\/p>\n<h3>Multiple SPF records found<\/h3>\n<p><strong>Cause:<\/strong> Two TXT records beginning with <code class=\"\" data-line=\"\">v=spf1<\/code> exist, usually because a new service&#8217;s setup guide said to add one. SPF then returns a permanent error for all your mail.<\/p>\n<p><strong>Fix:<\/strong> Combine them into one record with a single <code class=\"\" data-line=\"\">v=spf1<\/code> at the start and a single <code class=\"\" data-line=\"\">~all<\/code> or <code class=\"\" data-line=\"\">-all<\/code> at the end, then delete the other.<\/p>\n<h3>SPF softfail or fail on mail from your website<\/h3>\n<p><strong>Cause:<\/strong> Your mailboxes moved to Google or Microsoft and the record was replaced with only their include, so mail sent by your website from the hosting server is no longer listed.<\/p>\n<p><strong>Fix:<\/strong> Add <code class=\"\" data-line=\"\">ip4:<\/code> with your hosting server&#8217;s IP back into the record. If contact form mail still goes missing, check Email Routing as described in <a href=\"https:\/\/hostandtech.com\/kb\/email\/cpanel-email-not-receiving-or-sending\/\">cPanel email not receiving or sending<\/a>.<\/p>\n<h3>The record doesn&#8217;t show up after saving<\/h3>\n<p><strong>Cause:<\/strong> It was added in the wrong place (cPanel&#8217;s Zone Editor while the nameservers point elsewhere, or the other way round), or with the name set to something like <code class=\"\" data-line=\"\">spf<\/code> instead of the domain itself.<\/p>\n<p><strong>Fix:<\/strong> Check your nameservers with <code class=\"\" data-line=\"\">dig NS yourdomain.com +short<\/code> and edit DNS wherever they point. The record&#8217;s name must be the bare domain (<code class=\"\" data-line=\"\">@<\/code>) unless you&#8217;re setting SPF for a subdomain that sends mail.<\/p>\n<div class=\"ht-faq-section\">\n<h2>Frequently Asked Questions<\/h2>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">What does an SPF record look like?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>It is one TXT record that starts with v=spf1, lists the allowed senders and ends with ~all or -all. For example, v=spf1 +a +mx +ip4:203.0.113.10 ~all allows your website server, your mail servers and one IP address. Replace the example IP with your own server&#8217;s address.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Can I have two SPF records on one domain?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>No. Two SPF records cause a permanent error and SPF fails for every message. Merge all your senders into a single record that starts with one v=spf1 and ends with one all mechanism.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Should I use ~all or -all in my SPF record?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>Start with ~all (soft fail) while you confirm every legitimate sender passes. Google recommends ~all, and Microsoft recommends -all for Microsoft 365 domains that also use DKIM and DMARC. Once DMARC is in place it decides what happens to failing mail, so either works.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Do I need an SPF record if my domain doesn&#8217;t send email?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>Yes. Publish v=spf1 -all on any domain that never sends mail. It tells receiving servers that nothing legitimate comes from that domain, which makes it much harder for spammers to use your name.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Is SPF enough to stop my email going to spam?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>No. Gmail, Yahoo and Microsoft also check DKIM and DMARC, and they look at your sending IP&#8217;s reputation. Set up DKIM in cPanel under Email Deliverability, add a DMARC record once SPF and DKIM pass, and keep your server IP off blocklists.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Create one SPF record that covers every service sending mail as your domain, with copy-ready examples for cPanel hosting, Google Workspace, Microsoft 365, Zoho and non-sending domains, and fixes for the errors that quietly break SPF.<\/p>\n","protected":false},"author":1,"featured_media":245,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[44],"tags":[40,48,181,396,190],"class_list":["post-242","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-domains","tag-cpanel","tag-dns","tag-dns-records","tag-email-authentication","tag-email-deliverability"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Create an SPF Record (With Examples)<\/title>\n<meta name=\"description\" content=\"How to create an SPF record, with copy-ready examples for cPanel, Google Workspace, Microsoft 365 and Zoho, and fixes for the 10-lookup limit.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create an SPF Record (With Examples)\" \/>\n<meta property=\"og:description\" content=\"How to create an SPF record, with copy-ready examples for cPanel, Google Workspace, Microsoft 365 and Zoho, and fixes for the 10-lookup limit.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/\" \/>\n<meta property=\"og:site_name\" content=\"Host And Tech knowledge base\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/stshostandtech\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-25T18:58:39+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/how-to-create-spf-record.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@stshostandtech\" \/>\n<meta name=\"twitter:site\" content=\"@stshostandtech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/person\\\/b6fa79c48ddaba71af32e395c5b017ee\"},\"headline\":\"How to Create an SPF Record (With Examples for cPanel, Google Workspace and Microsoft 365)\",\"datePublished\":\"2026-09-25T18:58:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/\"},\"wordCount\":1503,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/how-to-create-spf-record.webp\",\"keywords\":[\"cPanel\",\"DNS\",\"DNS records\",\"email authentication\",\"email deliverability\"],\"articleSection\":[\"Domains &amp; DNS\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/\",\"name\":\"How to Create an SPF Record (With Examples)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/how-to-create-spf-record.webp\",\"datePublished\":\"2026-09-25T18:58:39+00:00\",\"description\":\"How to create an SPF record, with copy-ready examples for cPanel, Google Workspace, Microsoft 365 and Zoho, and fixes for the 10-lookup limit.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/#primaryimage\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/how-to-create-spf-record.webp\",\"contentUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/how-to-create-spf-record.webp\",\"width\":1200,\"height\":630,\"caption\":\"How to create an SPF record: example v=spf1 +a +mx +ip4 ~all, one record per domain, max 10 lookups\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/domains\\\/how-to-create-spf-record\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Create an SPF Record (With Examples for cPanel, Google Workspace and Microsoft 365)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#website\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\",\"name\":\"Host And Tech knowledge base\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\",\"name\":\"Host And Tech knowledge base\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-dark.png\",\"contentUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-dark.png\",\"width\":1134,\"height\":395,\"caption\":\"Host And Tech knowledge base\"},\"image\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/stshostandtech\",\"https:\\\/\\\/x.com\\\/stshostandtech\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/person\\\/b6fa79c48ddaba71af32e395c5b017ee\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/hostandtech.com\\\/kb\"],\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/author\\\/admin_fjj7qydm\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Create an SPF Record (With Examples)","description":"How to create an SPF record, with copy-ready examples for cPanel, Google Workspace, Microsoft 365 and Zoho, and fixes for the 10-lookup limit.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/","og_locale":"en_US","og_type":"article","og_title":"How to Create an SPF Record (With Examples)","og_description":"How to create an SPF record, with copy-ready examples for cPanel, Google Workspace, Microsoft 365 and Zoho, and fixes for the 10-lookup limit.","og_url":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/","og_site_name":"Host And Tech knowledge base","article_publisher":"https:\/\/www.facebook.com\/stshostandtech","article_published_time":"2026-09-25T18:58:39+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/how-to-create-spf-record.webp","type":"image\/webp"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@stshostandtech","twitter_site":"@stshostandtech","twitter_misc":{"Written by":"admin","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/#article","isPartOf":{"@id":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/"},"author":{"name":"admin","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/person\/b6fa79c48ddaba71af32e395c5b017ee"},"headline":"How to Create an SPF Record (With Examples for cPanel, Google Workspace and Microsoft 365)","datePublished":"2026-09-25T18:58:39+00:00","mainEntityOfPage":{"@id":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/"},"wordCount":1503,"commentCount":0,"publisher":{"@id":"https:\/\/hostandtech.com\/kb\/#organization"},"image":{"@id":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/#primaryimage"},"thumbnailUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/how-to-create-spf-record.webp","keywords":["cPanel","DNS","DNS records","email authentication","email deliverability"],"articleSection":["Domains &amp; DNS"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/","url":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/","name":"How to Create an SPF Record (With Examples)","isPartOf":{"@id":"https:\/\/hostandtech.com\/kb\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/#primaryimage"},"image":{"@id":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/#primaryimage"},"thumbnailUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/how-to-create-spf-record.webp","datePublished":"2026-09-25T18:58:39+00:00","description":"How to create an SPF record, with copy-ready examples for cPanel, Google Workspace, Microsoft 365 and Zoho, and fixes for the 10-lookup limit.","breadcrumb":{"@id":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/#primaryimage","url":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/how-to-create-spf-record.webp","contentUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/how-to-create-spf-record.webp","width":1200,"height":630,"caption":"How to create an SPF record: example v=spf1 +a +mx +ip4 ~all, one record per domain, max 10 lookups"},{"@type":"BreadcrumbList","@id":"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hostandtech.com\/kb\/"},{"@type":"ListItem","position":2,"name":"How to Create an SPF Record (With Examples for cPanel, Google Workspace and Microsoft 365)"}]},{"@type":"WebSite","@id":"https:\/\/hostandtech.com\/kb\/#website","url":"https:\/\/hostandtech.com\/kb\/","name":"Host And Tech knowledge base","description":"","publisher":{"@id":"https:\/\/hostandtech.com\/kb\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hostandtech.com\/kb\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/hostandtech.com\/kb\/#organization","name":"Host And Tech knowledge base","url":"https:\/\/hostandtech.com\/kb\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/logo\/image\/","url":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/05\/logo-dark.png","contentUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/05\/logo-dark.png","width":1134,"height":395,"caption":"Host And Tech knowledge base"},"image":{"@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/stshostandtech","https:\/\/x.com\/stshostandtech"]},{"@type":"Person","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/person\/b6fa79c48ddaba71af32e395c5b017ee","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/hostandtech.com\/kb"],"url":"https:\/\/hostandtech.com\/kb\/author\/admin_fjj7qydm\/"}]}},"_links":{"self":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/242","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/comments?post=242"}],"version-history":[{"count":1,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/242\/revisions"}],"predecessor-version":[{"id":248,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/242\/revisions\/248"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/media\/245"}],"wp:attachment":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/media?parent=242"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/categories?post=242"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/tags?post=242"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}