Understand how WindoorERP sends and receives email
Publish DNS records so your email is trusted
What this does
SPF, DKIM and DMARC are three DNS records that prove your emails really come from your domain. Without them, a large share of what WindoorERP sends is filed as spam or dropped.
Before you start
- You need access to the DNS zone of your domain — usually at your registrar or DNS host.
- Get the exact values from whoever sends your mail: your SMTP provider publishes them, and they differ per provider.
- Changes to DNS take minutes to hours to propagate. Plan for the wait instead of re-editing the record.
This documentation presents three complementary authentication protocols (SPF, DKIM, and DMARC) used to prove the legitimacy of an email sender. Not complying with these protocols will greatly reduce chances of your emails to reach their destination.
If choosing to use a custom domain instead, configuring SPF and DKIM records correctly is essential to prevent emails from being quarantined as spam or not being delivered to recipients.
If using the default WindoorERP email server to send emails from a custom domain, the SPF and DKIM records must be configured as presented below. If using an outgoing email server, it is required to use the SPF and DKIM records specific to that email service and a custom domain.
Note
Email service providers apply different rules to incoming emails. An email may be classified as spam even if it passes the SPF and DKIM checks.
SPF (Sender Policy Framework)
The Sender Policy Framework (SPF) protocol allows the owner of a domain name to specify which servers are allowed to send emails from that domain. When a server receives an incoming email, it checks whether the IP address of the sending server is on the list of allowed IPs according to the sender's SPF record.
In WindoorERP, the SPF test is performed on the bounce address defined under the Alias Domain field found under the database's General Settings. If using a custom domain as Alias Domain, it is necessary to configure it to be SPF-compliant.
The SPF policy of a domain is set using a TXT record. The way to create or modify this record depends on the provider hosting the DNS zone of the domain name.
If the domain name does not yet have an SPF record, create one using the following input:
If the domain name already has an SPF record, the record must be updated. Do not create a new one, as a domain must have only one SPF record.
Check the SPF record using a tool like MXToolbox SPF Record Check. The process to create or modify an SPF record depends on the provider hosting the DNS zone of the domain name. The most common providers and their documentation are listed below.
DKIM (DomainKeys Identified Mail)
The DomainKeys Identified Mail (DKIM) allows a user to authenticate emails with a digital signature.
When sending an email, the WindoorERP email server includes a unique DKIM signature in the headers. The recipient's server decrypts this signature using the DKIM record in the database's domain name. If the signature and the key contained in the record match, it proves the message is authentic and has not been altered during transport.
Enabling DKIM is required when sending emails from a custom domain using the WindoorERP email server.
To enable DKIM, add a CNAME record to the DNS zone of the domain name:
The way to create or modify a CNAME record depends on the provider hosting the DNS zone of the domain name. The most common providers and their documentation are listed below.
Check if the DKIM record is valid using a tool like MXToolbox DKIM Record Lookup. Enter example.com:odoo in the DKIM lookup tool, specifying that the selector being tested is odoo for the custom domain example.com.
DMARC (Domain-based Message Authentication, Reporting and Conformance)
The DMARC record is a protocol that unifies SPF and DKIM. The instructions contained in the DMARC record of a domain name tell the destination server what to do with an incoming email that fails the SPF and/or DKIM check.
Note
The aim of this documentation is to help understand the impact DMARC has on the deliverability of emails, rather than give precise instructions for creating a DMARC record. Refer to a resource like DMARC.org to set the DMARC record.
There are three DMARC policies:
p=nonep=quarantinep=reject
p=quarantine and p=reject instruct the server that receives an email to quarantine that email or ignore it if the SPF or DKIM check fails.
Passing DMARC generally means that the email will be successfully delivered. However, it's important to note that other factors like spam filters can still reject or quarantine a message.
p=none is used for the domain owner to receive reports about entities using their domain. It should not impact the deliverability.
Example
_dmarc IN TXT “v=DMARC1; p=none; rua=mailto:postmaster@example.com” means that aggregate DMARC reports will be sent to postmaster\@example.com.
SPF, DKIM and DMARC documentation of common providers
- OVH DNS
- GoDaddy TXT record
- GoDaddy CNAME record
- NameCheap
- CloudFlare DNS
- Squarespace DNS records
- Azure DNS
To fully test the configuration, use the Mail-Tester tool, which gives a full overview of the content and configuration in one sent email. Mail-Tester can also be used to configure records for other, lesser-known providers.
SPF — who may send
SPF lists the servers allowed to send email for your domain. The receiving server compares the sending IP against that list. In WindoorERP the check applies to the bounce address, built from the Alias Domain in your general settings — so it is the alias domain that must be SPF-compliant.
-
01
Look up the SPF value your mail provider tells you to include — it looks like
include:spf.example-provider.com. -
02
If the domain has no SPF record yet, create a TXT record with the value
v=spf1 include:spf.example-provider.com ~all. -
03
If it already has one, edit it — a domain may only have one SPF record. Add the include next to the existing ones:
v=spf1 include:spf.example-provider.com include:_spf.google.com ~all. -
04
Check the result with a tool such as MXToolbox's SPF Record Check.
DKIM — nothing was tampered with
DKIM signs each message. The receiving server fetches your public key from DNS and verifies the signature, which proves the message is yours and was not altered on the way.
- Get the selector and key from your mail provider. It is usually a CNAME to publish, sometimes a TXT record containing the key itself.
- Create it in your DNS zone exactly as given — selector names are case-sensitive and must match what the sender signs with.
- Verify with a DKIM lookup tool, entering
yourdomain.com:selector.
DMARC — what to do when a check fails
DMARC ties the other two together and tells receiving servers what to do with mail that fails them. There are three policies:
p=none— do nothing, just report. Start here.p=quarantine— treat failures as suspicious.p=reject— refuse them outright.
For DMARC to pass, SPF or DKIM must pass and the domains must
align. A record such as
_dmarc IN TXT "v=DMARC1; p=none; rua=mailto:postmaster@example.com"
sends you aggregate reports without affecting delivery — the safe way to
see who is sending as you before tightening the policy.
Test the whole thing
Send one real email from your database to a tool such as Mail-Tester. It scores the content and every authentication record in one go, which is faster than checking each record separately and guessing about the rest.
Common mistakes
- Creating a second SPF record instead of editing the first. Two SPF records mean no valid SPF at all.
- Publishing records for one provider while sending through another — the records must describe whoever actually sends.
- Jumping straight to
p=rejectand silently killing legitimate mail from a system nobody remembered. - Assuming a passing check guarantees the inbox. Spam filters weigh content and reputation too.
Was this article helpful?
Thanks — your feedback helps.
Running a window or door factory?
Ask for a demo