The domain you want your emails to be sent from is referred to as the sending domain within Ninja EMS, i.e. Using this specific domain, you will create from email as part of the primary routing information required for the message header. Adding a sending domain is a necessary part of the Ninja EMS setup. In this specific article, we’ll learn everything about this from the domain.

In this Article

  • How to add a send from a domain?
  • How should I verify the DNS of the sending domain?
  • How can I set up the DKIM of the sending domain?
  • How can I set up the SPF of the sending domain?

From the menu of “Setup” on the main navigation, click “Sending Domains” and start adding a new domain or managing the existing ones. When you’ve got a fresh installation of Ninja EMS and still preparing things to start sending, you may first need to add a domain before you can view them listed in the view table, click “Add Sending Domain” from the left side of the page to start the process.

Add Sending Domain

Upon clicking the “Add Sending Domain” button, the option pops-up on your screen to add a sending domain. The first part of this belongs to the domain name, and the second part of the process is connected to the DNS entries, authentication, and tracking. In this first part, you’ll select the right protocol between HTTPS or HTTP for the sending domain, and write your domain name in the empty text field i.e. (Without writing HTTP:// or HTTPS://).

Click “Save” to save the sending domain and proceed to the next step, or click “Close” to exit from the process without saving the record.

Note: If you are using PowerMTA and the PowerMTA configuration module within Ninja EMS, the domains you’ll add towards the 3rd party of configuration wizard “IPs & Domains” will automatically be added as sending domain. You don’t need to add the sending domains separately in case of using the PMTA server and PMTA configuration module of Ninja EMS PowerMTA Server

DNS Records and Authentications

The system redirects you to the DNS records and authentications page once you’ve your domain saved in the first phase of the process. In this specific part of the article, we’ll discuss the 2nd part of the process of adding a sending domain.

Note: If you are looking to use some ESP like Mailgun for sending which has its own setup for domain verification and implementing the DNS record, you can skip this part of DNS verification in Ninja EMS. But adding a sending domain is still necessary.Sending using ESPs

The Domain name and Activity Status

Before you start setting up the DNS records, you are displayed the name of the domain along with the activity status of the domain as “Active” by default or “Inactive” if you work the toggle option towards the other side. Make sure, only the domains with an active status can be used for further process of sending.


There is a pair of both public and private keys system automatically generates for your sending domain. The DKIM is a largely used cryptographic method of domain validation. DKIM helps you prevent spoofing by adding a digital signature in the outgoing message header. You can find a good deal of information about DKIM on the official site of The private key is to be configured with the outgoing mail server and the public key is for the DNS verification. The value of the public key from the pair that you need for the DNS verification is placed under the “Verification” on the same page. From this section, you can use the following two options.

Enable/Disable Signing– Keeping the toggle option at “Signing Enabled” will attach the digital signature in the message header before sending an email from an outgoing mail server; the hash value is encrypted with the private key and can be validated with the value of public key located in the DNS of the sending domain. If the pair value matches, the inbound mail server accepts the DKIM value as a pass. If you keep the toggle option at “Signing Disabled”, the outgoing emails from the Ninja EMS will not be signed with the DKIM value for the message header.

Download– Click the small download button to download the key pair in a “Zip” format, the value of the record starts after BEGINPUBLICKEY—and ends before ENDPUBLICKEY— the same goes with the private key.


These are the values for the DNS verification of your domain. The records/authentications are necessary from the deliverability perspective. If you don’t have these DNS records implemented within your DNS, email deliverability will certainly suffer. Let’s see each of the records individually.

DKIM record for the DNS

As discussed above, the DKIM is validated with the correct match of the public and private key values. The public key is placed in the domain’s DNS and Ninja EMS automatically generates the values for your DKIM DNS entry. Sign in your domain DNS and follow the steps.

Type– The first column indicates that you should select the record type as TXT within your DNS zone editor.

Host– The host field value comprises the sending domain with a prefix/selector value as mail._domainkey. Some of the DNS zones append the domain name automatically; therefore, you may need to add just the selector value (mail._domainkey). In other cases, you would provide the complete value with the domain name included.

Value– Copy the DKIM public key value from under the value column and paste it in the txt record value of your DNS editor. It completes your DKIM public key entry.

SPF record for the DNS

SPF or sender policy framework is another important authentication that allows a mail server to send on behalf of a specific domain. More information about the SPF is available here

Type– The type of record again is TXT to select from the DNS zone editor for the SPF record.

Host– The host field has the sending domain as a value which indicates that the authentications are being published against the specific domain in the host field.

Value– Copy the value and paste in your DNS editor value field to complete the SPF record. The value comprises a general structure along with the IP address of the outgoing mail server. You can even announce multiple IPs range also i.e. v=spf1 +a +mx +ip4: ~all.


The CNAME is a type of record that maps a domain name to another domain that it points to. Using this record, you form a tracking link that will enable Ninja EMS to track the opens and the clicks.

Type– You’ll need to select CNAME as a type of record within your Domain Name System (DNS) to start adding these record values.

Host– The host field value contains the sending domain with a selector/prefix value as “track”. Some DNS zones may append the domain name automatically and you would just add the select “track” in the host field. For other cases, you’ll add a complete value with the domain name.

Value– For the value of CNAME, you’ll point the tracking URL towards the current Ninja EMS installation URL i.e., in case you are learning the scenario from the demo Ninja EMS account. In simple, the tracking URL on your sending domain will point to the current installation domain of Ninja EMS to enable it to track opens & clicks.

After you are done with the setup of validation and DNS records, you can press the button “Verify Now” to verify the DNS entries of all records you’ve just made. If the system successfully verifies the DNS, the check signs under the last column will confirm the verification, otherwise, the cross sign indicates that the records aren’t verified with the DNS.

Note: This may take from a few minutes to like 48 hours sometime for the DNS to fully propagate with the newly implemented records.