Email setup for B2B teams

How to Set Up an SPF TXT Record for BROSH Email

Authorize BROSH to send email for your domain without losing your existing mail setup. Follow the DNS steps below, preserve your current SPF policy, and test before your next customer follow-up.

Updated October 15, 2026

Quick answer: edit your existing SPF TXT record and add include:_spf.brosh.io before its final all term. Keep the current ending. Create a record only if none exists.

How to Set Up an SPF TXT Record for BROSH Email
Find your DNS host and existing SPF record

Find your DNS host and existing SPF record

Your DNS host is the provider running your domain’s authoritative nameservers. It may differ from the company where you bought the domain. For example, a domain registered at GoDaddy may use Cloudflare DNS.

Open that provider’s DNS records and find the TXT value beginning v=spf1 at the sending domain. Copy it before editing. Keep other TXT records, such as verification records, intact.

Publish one SPF record per hostname. A separate sending subdomain needs its own policy; do not assume it inherits the root domain’s SPF.

SPF TXT values: with and without the optional Google example

These examples retain the a mx mechanisms in the BROSH setup supplied for this guide. Select the ending appropriate to your existing policy; do not publish both alternatives.

SituationSingle TXT value
BROSH plus Google Workspace; existing neutral policy
v=spf1 a mx include:_spf.google.com include:_spf.brosh.io ?all
BROSH plus Google Workspace; existing softfail policy
v=spf1 a mx include:_spf.google.com include:_spf.brosh.io ~all
Without Google; existing neutral policy
v=spf1 a mx include:_spf.brosh.io ?all
Without Google; existing softfail policy
v=spf1 a mx include:_spf.brosh.io ~all

Google is optional. Include include:_spf.google.com only when Google Workspace sends mail for your domain. Receiving mail from Gmail customers is not a reason to add it. Google’s SPF setup guide explains its sending configuration.

If you use another mail service, retain that service’s authorized mechanisms. These sample values are not replacements for an existing record containing other legitimate senders. Enter v=spf1 exactly, with no comma after SPF and no quotation marks unless your provider requires them.

SPF settings for Microsoft 365 / Outlook

If your custom domain sends through Microsoft 365 / Exchange Online, include include:spf.protection.outlook.com. Using the Outlook app with another email provider does not, by itself, require this include.

At your authoritative DNS host, edit the existing SPF TXT record. Keep Microsoft’s include and add include:_spf.brosh.io before the final all term. Preserve every other legitimate sender and the existing ending.

Existing policy endingMicrosoft 365 + BROSH example
Keep an existing -all
v=spf1 include:spf.protection.outlook.com include:_spf.brosh.io -all
Keep an existing ~all
v=spf1 include:spf.protection.outlook.com include:_spf.brosh.io ~all
Keep an existing ?all
v=spf1 include:spf.protection.outlook.com include:_spf.brosh.io ?all

Microsoft’s standard Microsoft 365-only example ends in -all. Do not weaken that ending when adding BROSH. These examples omit a mx; retain those mechanisms if your existing setup needs them. Add Google’s include only if Google also sends for the domain.

Save one SPF record, then test both Microsoft 365 and BROSH messages. Personal @outlook.com mailboxes use Microsoft-managed DNS. Sovereign-cloud or gateway configurations may need different entries; follow your tenant’s setup guidance and Microsoft’s official SPF instructions.

What each part of the record does

PartMeaningWhat to check
v=spf1Identifies the policy as SPF version 1.Use once, at the beginning.
aAuthorizes sending IPs matching the domain’s A or AAAA records.Include only if those hosts are intended to send email.
mxAuthorizes sending IPs of hosts listed in the domain’s MX records.Inbound mail hosts are not always outbound senders.
include:_spf.google.comChecks the Google SPF policy for an authorized sender.Optional; only for domains sending through Google Workspace.
include:_spf.brosh.ioChecks the BROSH SPF policy for an authorized sender.Add once, before the final all mechanism.
~all or ?allSets the result when earlier mechanisms do not match.Preserve your existing ending during this addition.

The a and mx terms authorize hosts; they are not mandatory boilerplate for every domain. Keep this guide’s examples only where those permissions fit your setup. If your existing policy omits them, adding BROSH does not require adding them.

What is the difference between ~all and ?all?

EndingSPF result for an unmatched senderPractical interpretation
~allSoftfailThe domain considers the sender probably unauthorized. A receiver may treat this as a negative signal; it is not an automatic instruction to reject or send to spam.
?allNeutralThe domain makes no assertion about authorization for that sender. Neutral is not SPF pass and does not authorize every sender.
-allFailThe domain explicitly identifies unmatched senders as unauthorized. Receiver handling depends on its policies.

Keep the ending as it is if one already exists. If your record ends in ?all, keep ?all. If it ends in ~all, keep ~all. Preserve an existing -all as well. Adding BROSH is separate from changing your enforcement policy.

If no SPF record exists, have your mail administrator confirm all senders and choose the policy. A new ~all policy can support a staged rollout; ?all offers weaker assertions. Review strictness separately after testing.

See RFC 7208: SPF results and receiver handling and NCSC guidance on building and testing an SPF policy. Neither softfail nor neutral counts as SPF pass for DMARC.

Add BROSH without replacing your other senders

For an existing Google-only record, insert the BROSH include before ~all. Preserve the rest of the value:

Before: v=spf1 include:_spf.google.com ~all
After: v=spf1 include:_spf.google.com include:_spf.brosh.io ~all

Use the same approach for an existing ?all or -all ending. Do not add a second v=spf1, a second SPF TXT record, or an include after all.

If your policy uses redirect=, ask its administrator to merge BROSH correctly; adding an all term would override that redirect.

Add BROSH without replacing your other senders

DNS fields to enter

FieldValue or action
TypeTXT, not the legacy SPF record type.
Name / HostUsually @ for the root domain; Wix uses a blank host instead. Use the specified subdomain label when configuring a sending subdomain.
Value / Content / TextYour complete merged v=spf1 ... value as one record.
TTLKeep the existing TTL when editing, or use the provider’s default/Auto for a new record.
SaveReopen the saved record and check the value and hostname.

Use the domain specified by your sending setup. SPF checks the envelope sender / Return-Path domain, which may differ from the visible From address. A correct root-domain record alone cannot fix an unrelated Return-Path configuration.

How to add or update SPF at GoDaddy

Use these steps when GoDaddy hosts your DNS. Sign in through the official GoDaddy SPF guide or open your domain’s DNS settings in your account.

StepAction
1. Select the domainOpen your Domain Portfolio, choose the domain, then open DNS.
2. Inspect recordsFind the existing TXT record starting v=spf1. Select its edit action. Choose Add New Record only if no SPF policy exists at that hostname.
3. Fill the formFor a new record choose TXT, set Name to @ for the root domain, and enter your full merged SPF value.
4. Preserve the policyKeep existing sender permissions and the final ?all, ~all, or -all. Use the current/default TTL.
5. Save and checkSave, complete any account verification, and confirm that only one SPF TXT record exists for the hostname.

GoDaddy can already have an SPF record for an email product. Do not replace it with the BROSH-only example. Add BROSH to the existing policy so the mailbox service remains authorized.

Google DNS and other popular providers: setup instructions

For every provider below, edit an existing SPF TXT record first. The “add” action applies only when the target hostname has no SPF record. Labels can change; the linked official guides provide the current provider instructions.

DNS providerWhere to edit or addRoot hostname and value
Google Cloud DNS — add or update TXT recordsOpen Google Cloud Console → Cloud DNS → Zones. Select the authoritative public managed zone. Edit its existing TXT record set; if none exists at that name, choose Add standard and select TXT. Enter the merged SPF text, keep the current/default TTL, then save or create the record set.For the zone apex, leave DNS name blank; @ does not create an apex record here. For a subdomain, enter its label. Preserve unrelated TXT values in the same record set and keep only one value beginning v=spf1. Keep the existing SPF ending.
Cloudflare — manage DNS recordsSelect the domain → DNS → Records. Edit the SPF TXT row, or choose Add record → TXT. Save.Name: @. Content: complete merged SPF value. TTL: current or Auto. TXT records do not use the web proxy toggle.
Namecheap — TXT/SPF setupChoose Domain List → Manage → Advanced DNS. Edit the TXT row under Host Records or use Add New Record → TXT Record. Save changes.Host: @. Value: merged SPF string. Applies to BasicDNS, PremiumDNS or FreeDNS; hosting DNS may require cPanel instead.
Squarespace — add TXT recordsOpen the domains dashboard, select the domain → DNS → DNS Settings → Custom Records. Edit the policy or select Add record → TXT. Save.Name: @. Text: merged SPF string. Complete account reauthentication if prompted.
Wix — add or update SPFOpen Domains → Domain Actions → Manage DNS Records. Edit the SPF TXT row or choose + Add Record in TXT. Save.Host Name: leave blank for the root domain. Value: merged SPF string. Do not enter @ in Wix’s root Host Name field.

Former Google Domains customers: Google Domains registrations moved to Squarespace. Follow the Squarespace instructions above if it hosts your DNS, or use your current authoritative DNS host. See the official Google Domains migration guide.

Google Public DNS (8.8.8.8) is a resolver: you cannot publish your domain’s TXT records there. Google Workspace is an email service; its optional SPF include does not mean Google hosts your DNS.

Buying a domain from one of these companies does not necessarily mean it hosts your DNS. If the domain uses external nameservers, make the change at that DNS host.

Verify DNS and send a test message

Verify DNS and send a test message

After saving, look up the sending domain’s public TXT records and confirm that the merged SPF value appears once. Cached answers can remain until their TTL expires; some providers advise allowing up to 48 hours.

Send a test from BROSH to a mailbox you control and inspect its full headers. Check Authentication-Results for spf=pass and confirm the tested smtp.mailfrom domain. Also test your regular mailbox service.

Before resuming customer follow-up, assign one owner to record the DNS change, test results, and any bounces. SPF is one part of email deliverability.

Troubleshooting before your next campaign

ProblemLikely causeNext step
More than one v=spf1 TXT recordSeparate SPF policies were added for different tools.Combine authorized senders into one valid policy at that hostname; retain unrelated TXT records.
BROSH test is not passingWrong hostname, an omitted include, cached DNS, or a different Return-Path.Compare the saved policy with the actual envelope sender and test headers.
SPF permerrorSyntax problem, duplicate policies, or excessive DNS-dependent terms.Validate the full policy, including nested includes. SPF limits DNS-lookup-causing terms to 10 during evaluation.
Regular mailbox stops passingAn existing mail service was replaced by a BROSH-only example.Restore the missing authorized sender from your saved original and retest both routes.
SPF passes but mail reaches spamAuthentication alone does not determine inbox placement.Check DKIM, DMARC alignment, recipient consent, reputation, complaints and message quality.

Google’s SPF troubleshooting guide covers the lookup limit and header checks. Count nested lookups as well as the mechanisms visible in your top-level record; ten includes is not a safe universal rule.

Once authentication is verified, connect campaign ownership and follow-up to your CRM marketing automation workflow. Monitor authentication failures and bounces after each sender configuration change.

Questions and Answers

Do I need Google in my BROSH SPF record?

Only if Google Workspace sends email for your domain. The Google include is an optional example. Keep the entries for the services you actually use.

Should I change ?all to ~all when adding BROSH?

Keep the existing ending for this change. Add the BROSH include before it. Review a policy change separately with your mail administrator after checking every authorized sender.

Can I add a second SPF TXT record for BROSH?

No. Merge BROSH into the existing SPF policy at that hostname. Other TXT records used for verification or other purposes can remain.

Should I copy a mx into an existing record?

Not automatically. Those mechanisms authorize the domain’s address and mail-exchanger hosts. Add them only if those hosts should send mail; BROSH’s include can be added without changing those permissions.

Does SPF guarantee my quotes and follow-up emails reach the inbox?

No. Check DKIM, DMARC alignment, reputation and recipient consent as well. SPF pass confirms an authorized sending path for the tested envelope domain, not guaranteed inbox delivery.

Who should manage the change for a B2B team?

Assign your domain or email administrator to update DNS and test all sending services. Keep the original value, the change date and test evidence accessible to the person who owns customer communications.

A safe SPF update keeps your existing email working

Use one SPF TXT record, retain existing senders, add include:_spf.brosh.io, and preserve the current ending. Verify both BROSH and regular mailbox traffic before relying on the change for customer communications.

Technical references: RFC 7208; NCSC SPF rollout guidance; Google Workspace SPF setup. Provider instructions are linked beside each walkthrough above.

Make customer follow-up easier to manage

Bring your customer records, communication ownership and next steps together with BROSH CRM.

Talk to a CRM Expert