Need Guidance on SPF Flattening for Zoho Mail Configuration

Need Guidance on SPF Flattening for Zoho Mail Configuration

Hi everyone,

I'm hoping to get some advice on optimizing my SPF record for a Zoho Mail setup. I use Zoho Mail along with several other Zoho services, and as a result, my current SPF record has grown to include multiple include mechanisms. My Cloudflare record looks like this:

v=spf1 include:zcsend.net include:transmail.net include:zoho.com include:zohomail.com include:one.zoho.com ~all

When I run this SPF record through various online validation tools, I'm consistently flagged for a couple of critical issues:

  1. Excessive DNS Lookups: The record results in 11 DNS lookups, which is over the permitted limit of 10. I understand this can cause some receiving mail servers to fail the SPF check outright, potentially leading to delivery problems.
  2. Duplicate IP Mechanisms: The validator reports several warnings about duplicate IP addresses, with errors like: "Duplicate ip4 mechanism. The value 'ip4:136.143.188.0/24' is invalid." It seems the IP ranges from the different Zoho include statements overlap.

The recommendation from these tools is to perform SPF Flattening. I understand the basic concept—to consolidate all the IP addresses from the various include statements into a single, flat list of ip4 and ip6 ranges to reduce the lookup count and clean up the duplicates.

However, I want to make sure I implement this correctly for Zoho's ecosystem. My main questions are:

  • What is the most reliable way to gather all of the current IP ranges that Zoho uses for email sending, considering all these different services (zcsend.nettransmail.net, etc.)?
  • Is there a recommended tool or process for generating an accurate flattened record that won't break my email delivery?
  • Once flattened, I'm concerned about maintenance. If Zoho adds new IP addresses in the future, my flattened record will become outdated. What is the best practice for handling these updates? Should I manually re-check and update the record periodically, or are there better solutions?

I would greatly appreciate any detailed steps, personal experiences, or best practices you can share. Thank you in advance for your help

    • Sticky Posts

    • Important update! Re-authentication mandated for sensitive admin operations in Admin Console.

      Dear Zoho Mail Community, Hope you're all doing good and staying safe! As we strive to provide you with better security for your business email needs, an additional measure has been taken to ensure more security to the sensitive Admin Operations performed
    • Important announcement: IPv6 support in Inbound gateway

      Greetings from Zoho Mail team. We are happy to announce the support of IPv6 support for receiving emails in Zoho Mail. This post mainly addresses the admins who have configured inbound gateway for their organisation. As a part of the changes related to
    • Administrators now have permissions to access the Subscription and Payment details.

      Hello everyone! Hope you are all staying safe during these trying times. To ensure that your organization's email service, the backbone of communication, does not get affected due to inadvertent negligence by the super administrator, we have made a few changes in our roles and permissions to handle subscription and renewal smoothly. Earlier, any organization's Subscription and Payment information in Zoho Mail could be accessed only by the organization's Super Administrator. Now, based on requests
    • Move ahead from Docs to WorkDrive - WorkDrive is now available in all Workplace plans!

      Dear all,  We are glad to announce that WorkDrive is available across all the Workplace plans, with added storage and extensive team features.  Zoho WorkDrive is now available for all users, including those who subscribed before Zoho WorkDrive was introduced
    • Announcement - Changes in Custom login page

      In continuation to our efforts in protecting your Zoho Mail account we have made a few changes in the custom login page. We are making some enhancements in the browser to server communication to make it more secure.  You may be aware of the most of the modern web browsers mandate certain security practices to showing the webpages as 'Secure'.  We are rolling out the security related enhancements ensure that our custom login page accessed only in https mode and the authentication is securely done
    • Recent Topics

    • Adding yearly Calander

      How to add Yearly calander and employee data from admin console
    • Zoho Leave Policy > Portugal maternity Leave 120 days or 150 days

      Hello All In this Portugal maternity Leave policy, the government allow employee to apply 120 days they will have 100% paid salary if they apply 150 days they take 80% of the paid salary minimum 1 days and maximum 120 days or 150 days Should i setup this
    • Feature Request - Copy Reschedule Link

      Hi Bookings Team, I had a client contact me today, to let me know that she can't make a meeting she booked this week. I can't remember if I included a reschedule link in email notifications, but I was thinking that it would be great if I could just open
    • eCommerce ZUG Virtual Meetup – Critical Role of e-Signatures in eCommerce

      Hello there! Are you in the ecommerce industry and looking for a secure, compliant e-signature solution to handle all your paperwork? From vendor onboarding and supplier contracts to internal HR and finance workflows, speed, scalability, and customer
    • Zoho Desk iOS app update: Archived ticket list view

      Hello everyone! In the latest iOS version(v2.10.7) of the Zoho Desk app update, we have brought in support to access the 'Archived Ticket views' on the 'Ticket Views' screen. Tickets that have been Closed and inactive for 120+ days will be automatically
    • Chart of Accounts

      Is it possible to reorder chart of accounts manually? Currently, when creating new sub accounts accounts, they appear in order they were created i.e. not in alphabetical or numerical order based on manually assigned account codes. It's very messy! Also,
    • Zoho People Candidate Unable to see Non Admin Data

      Hello All I have assign this user as specific user as Group CEO and have access all legal entity, business unit division When i login to the user and look into onboarding i do not see any data in the candidate view This is the admin view that i have 2
    • Issues With Image Formatting when Importing Word Documents as Articles

      Hello, I am having formatting issues when importing .docx files into articles. The documents look fine on Word, but once they are imported into an article, the images will overlap text and other images. Occasionally there will be added space between images
    • ZOHO COMMERCE 2.0 – Réinventer la vente, repenser la valeur

      Il y a cinq ans, nous avons lancé Zoho Commerce pour accompagner les entreprises dans la vente en ligne. À cette époque, notre objectif était clair : simplifier l'e-commerce. Aujourd’hui, le marché a évolué, tout comme les attentes des entrepreneurs.
    • Business hours in reports

      Hi. If I activate the business hours for my tickets. Does it affect in reports? I mean, if before, without working hours a ticket comes in on a Monday and closes the following Monday, in the resolution time in working hours I get 7 days. I want to know
    • Zia Field Prediction - Unable to Validate Dataset Entries

      Lastly, whenever we want to create a new field prediction, the status gets stuck in Incomplete and when I try to annotate tickets, I get an error message saying "Unable to validate dataset entries." I've tried deleting and recreating the prediction, but
    • Using an article already existing in Zoho Desk KB as a resolution for another tickets

      Hi, I've read about the Resolution tab of the Tickets and the ability of adding a Resolution to the Knowledge Base so that both agents and customers be able to access this information. However, and considering several tickets may be solved by following the same procedure, here's my question: if, for a ticket, I solved it and added the way I solved it as an article in our KB, is it possible to grab that article and use it as a resolution for another tickets with similar characteristics? If it's not,
    • How to create knowledge base article from api?

      How to create knowledge base article from api?
    • Disabling Smart Writing Assistant

      Hello, I've found this article when looking to disable the Zoho Smart Writing Assistant in our Zoho Desk environment. I appreciate that the article is for another Zoho solution, however, I was still unable to disable this feature! Could we please have
    • Append tags to records on import

      Dear Customers, We hope you're well! Tags in Zoho CRM are humble labels you can earmark your records with for quick classification and recognition. You can tag records one by one when you have only a few records to update; you can automate tagging when
    • "Recently Changed Payload Format" for webhooks in Zoho Billing

      We are seeing a message about recently changed payload format for webhooks in zoho billing. I cannot find any notification about this change can you give me more information on this?
    • Kaizen #198: Using Client Script for Custom Validation in Blueprint

      Nearing 200th Kaizen Post – 1 More to the Big Two-Oh-Oh! Do you have any questions, suggestions, or topics you would like us to cover in future posts? Your insights and suggestions help us shape future content and make this series better for everyone.
    • Zoho People Created a UBO/Group CEO Profile to view all employees

      Hello All I have created a specific role UBO/ Group CEO Profile that is able to access to view all employees information Applicability i have input all the legal entity, business unit and division which most employees are added. I have also given access
    • We've updated the webhook payload format

      We’ve updated the default payload format for webhooks as part of our ongoing efforts to standardize the webhook format across Zoho Finance suite of applications. Note: This change is also applicable for the webhooks configured from the Developer Portal.
    • Zoho People > Access of Left Menu

      Hello All May I check how do i activate or de-activate of the left menu for users do i control via role or specific role? I have assign a user to Team member
    • Custom Button - Location Choice is not changeable in creation

      I created a custom button for the Tasks module that calls a function to streamline mass updates of closing tasks as "complete". I want to place it in either the utility menu or the mass action menu, but when I create the button the "select page" field
    • Workflow on Clone

      Hello. I'm interested on creating a workflow on a clone of a record in the Price_Books module that will clone also all the related Products and associate the new ones with the new Price_Book. My problem starts with that there's no On Clone event, only
    • How can I create a button in a widget that pops up a form created in ZOHO Creator when clicked?

      I know that using HTML snippets, clicking the button can pop up the form. However, the same code does not work in the widget. <button><a href="#Form:form2?zc_LoadIn=dialog">Add</a></button>
    • Introduce an option to hide the form title

      My feature request is to include an option to hide the form title. At the moment it is possible to hide the header. In some cases I do want to show a logo image in the header but not the form title. As a workaround I have tried disabling the header and
    • 関連トピックから配信リストをつくる

      ZOHOキャンペーンの既存の連絡先リストを関連トピックで絞り込んで、配信リストを作成する方法があれば、教えてください。
    • Zoho Mail not working

      Anyone else had the issue where emails wont send from either the desktop CRM or the mail app? It just says "syncing" then "failed". I deleted it and tried to access emails through the CRM on my phone (fold) but they dont show. It seems it is impossible
    • Shorten one URL but not all

      I have read that I should be able to click on the shorten link button at the bottom of the post window and shorten just one URL. But it does all of the URLs in my post. I want only one shortened. Not sure what I'm missing. Any help appreciated.
    • What is Zoho Marketing Plus?

      As if there wasn't enough confusion with SalesIQ, CRM, Campaigns and Marketing Automation, now we have Marketing Plus too. Can somebody from Zoho please give us a comparative list of features that are in Marketing Plus compared to what's in Marketing
    • I didn't receive my domain verification mail

      I didn't receive my domain verification mail 
    • Creating a new deal with specific layout and pipeline

      I am trying to create a button which creates a new deal for a particular account. It needs to be assigned a specific layout and pipeline. It seems like it should be really simple but I've been struggling to get this to work all day, can anyone help?!
    • Announcing New Features in Trident for macOS (v.1.21.0)

      Hello everyone! Trident for macOS is here with interesting features to elevate your workplace communication and productivity. Let's take a quick look at them. Get better visibility for concurrent events. Quickly compare and manage simultaneous events
    • Modifying Product Details

      I am in the process of setting up new products in Zoho Commerce and have encountered a few problems: 1) Tabs It seems that Product Details pages do not have the ability to create Tabs. eg:  https://www.thedebugstore.com/tp240141-aardvark-usb-i2c-spi-host-adapter-total-phase.html
    • Zoho Commerce B2B

      Hello, I have signed up for a Zoho Commerce B2B product demo but it's not clear to me how the B2B experience would look for my customers, in a couple of ways. 1) Some of my customers are on terms and some pay upfront with credit card. How do I hide/show
    • Creating a custom CSV file using deluge script/

      I have an application I have developed and the client wants us to place an export file in csv onto an ftp server daily. Now I don't see au options in creator to change the separator to anything else. The client wants the separator to be the pipe symbol "|"  I think i would be able to create schedule with some code to create the appropriate data in a string using deluge script but I haven't seen any functionality that would allow me to deposit that data as a file anywhere or attach it to an email
    • How can I get a nested value attributes inside a key par?

      Hello! Im getting the following output when reviewing a record I am after. I am trying to put some conditions based on a data value that is inside another data. For example, lets grab the below output. Info {"Account_Name":{"name":"Liberty Construction
    • Invoices not arriving and mail server settings

      I am having an issue where some clients are not receiving invoices. I have configured Zoho Books to send on my behalf and configured the appropriate SPF, DKIM and DMARC settings on my mail server and tested these as working. I get the CC'd copies so I
    • Multi Line Text Character Limit

      I want to export my Help Center articles but I realized that the text in the Answer column is being cut off. I'm guessing there is a character limit for multi line text fields. How can I get around this?
    • Emails bouncing to Hotmail / Outlook.com

      Today I have seen multiple emails bouncing all to Hotmail and outlook.com mailboxes, all other emails are being delivered. Is it just me or is this a widespread issue with Zoho Books ? Bounce Reason : uncategorized-bounce
    • Be careful if you want to purchase zoho one

      Hi, just to add one more complain to the other similar complains. When I purchased zoho one, Divith, my account manager told me (by email) that I would be able to keep different emails that I have inside the company (contact, privacy, etc.). During the
    • Schedule Timeout 5 minutes vs. stated 15 minutes

      I am running into a function run timeout error after 5 minutes for my schedules. The Functions - Limits documents states it should be 15 minutes: Functions - Limits | Online Help - Zoho CRM. What should it actually be? Due to the 5 minute timeout, I'm
    • Next Page