{% extends "dashboard/domain_detail/base.html" %} {% set domain_detail_page = "dns" %} {% block title %}{{ custom_domain.domain }} DNS{% endblock %} {% block domain_detail_content %}

{{ custom_domain.domain }}

Please follow the steps below to set up your domain.
DNS changes could take up to 24 hours to update.
{% if not custom_domain.ownership_verified %}
Domain ownership verification {% if custom_domain.ownership_verified %} {% else %} 🚫 {% endif %}
{% if not custom_domain.ownership_verified %}
To verify ownership of the domain, please add the following TXT record. Some domain registrars (Namecheap, CloudFlare, etc) might use @ for the root domain.
Record: TXT
Domain: {{ custom_domain.domain }} or @
Value: {{ ownership_record }}
{{ csrf_form.csrf_token }}
{% if not ownership_ok %}
Your DNS is not correctly set. The TXT record we obtain is:
{% if not ownership_errors %}(Empty){% endif %} {% for r in ownership_errors %} {{ r }}
{% endfor %}
{% endif %}
{% endif %}
{% endif %}
{% if not custom_domain.ownership_verified %}
A domain ownership must be verified first.
{% endif %}
1. MX record {% if custom_domain.verified %} {% else %} 🚫 {% endif %}
Add the following MX DNS record to your domain.
Please note that there's a dot (.) at the end target addresses. If your domain registrar doesn't allow this trailing dot, please remove it when adding the DNS record.
Some domain registrars (Namecheap, CloudFlare, etc) might also use @ for the root domain.
{% for priority, email_server in EMAIL_SERVERS_WITH_PRIORITY %}
Record: MX
Domain: {{ custom_domain.domain }} or @
Priority: {{ priority }}
Target: {{ email_server }}
{% endfor %}
{{ csrf_form.csrf_token }} {% if custom_domain.verified %} {% else %} {% endif %}
{% if not mx_ok %}
Your DNS is not correctly set. The MX record we obtain is:
{% if not mx_errors %}(Empty){% endif %} {% for r in mx_errors %} {{ r }}
{% endfor %}
{% if custom_domain.verified %}
Without the MX record set up correctly, you can miss emails sent to your aliases. Please update the MX record ASAP.
{% endif %}
{% endif %}

2. SPF (Optional) {% if custom_domain.spf_verified %} {% else %} 🚫 {% endif %}
SPF (Wikipedia↗) is an email authentication method designed to detect forging sender addresses during the delivery of the email.
Setting up SPF is highly recommended to reduce the chance your emails ending up in the recipient's Spam folder.
Add the following TXT DNS record to your domain.
Record: TXT
Domain: {{ custom_domain.domain }} or @
Value: {{ spf_record }}
{{ csrf_form.csrf_token }} {% if custom_domain.spf_verified %} {% else %} {% endif %}
{% if not spf_ok %}
Your DNS is not correctly set. The TXT record we obtain is:
{% if not spf_errors %}(Empty){% endif %} {% for r in spf_errors %} {{ r }}
{% endfor %}
{% if custom_domain.spf_verified %} Without SPF setup, emails you sent from your alias might end up in Spam/Junk folder. {% endif %}
{% endif %}

3. DKIM (Optional) {% if custom_domain.dkim_verified %} {% else %} 🚫 {% endif %}
DKIM (Wikipedia↗) is an email authentication method designed to avoid email spoofing.
Setting up DKIM is highly recommended to reduce the chance your emails ending up in the recipient's Spam folder.
Add the following CNAME DNS records to your domain.
{% for dkim_prefix, dkim_cname_value in dkim_records.items() %}
Record: CNAME
Domain: {{ dkim_prefix }}
Value: {{ dkim_cname_value }}.
{% endfor %}
Some DNS registrar might require a full record path, in this case please use dkim._domainkey.{{ custom_domain.domain }} as domain value instead.
If you are using a subdomain, e.g. subdomain.domain.com, you need to use dkim._domainkey.subdomain as the domain instead.
That means, if your domain is mail.domain.com you should enter dkim._domainkey.mail as the Domain.
If you are using CloudFlare, please make sure to not select the Proxy option.

{{ csrf_form.csrf_token }} {% if custom_domain.dkim_verified %} {% else %} {% endif %}
{% if not dkim_ok %}

Your DNS is not correctly set.

    {% for custom_record, retrieved_cname in dkim_errors.items() %}
  • The CNAME record we obtain for {{ custom_record }} is {{ retrieved_cname }}
  • {% endfor %}
{% if custom_domain.dkim_verified %} Without DKIM setup, emails you sent from your alias might end up in Spam/Junk folder. {% endif %}
{% if custom_domain.dkim_verified %}
DKIM is still enabled. Please update your DKIM settings with all CNAME records
{% endif %} {% endif %}

4. DMARC (Optional) {% if custom_domain.dmarc_verified %} {% else %} 🚫 {% endif %}
DMARC (Wikipedia↗) is designed to protect the domain from unauthorized use, commonly known as email spoofing.
Built around SPF and DKIM, a DMARC policy tells the receiving mail server what to do if neither of those authentication methods passes.
Add the following TXT DNS record to your domain.
Record: TXT
Domain: _dmarc
Value: {{ dmarc_record }}
Some DNS registrar might require a full record path, in this case please use _dmarc.{{ custom_domain.domain }} as domain value instead.
If you are using a subdomain, e.g. subdomain.domain.com, you need to use _dmarc.subdomain as domain value instead.
{{ csrf_form.csrf_token }} {% if custom_domain.dmarc_verified %} {% else %} {% endif %}
{% if not dmarc_ok %}
Your DNS is not correctly set. The TXT record we obtain is:
{% if not dmarc_errors %}(Empty){% endif %} {% for r in dmarc_errors %} {{ r }}
{% endfor %}
{% if custom_domain.dmarc_verified %} Without DMARC setup, emails sent from your alias might end up in the Spam/Junk folder. {% endif %}
{% endif %}
{% endblock %}