Before you start

Consider sign in before you take any step.

Tokens and direct links may be different or missing for non logged-in visitors.

Sign in

Add a domain

We ask every user to verify their domain name(s).

Users who do not have a domain or do not wish to verify their domain, or simply want to skip this step can do so and can send emails via

Make sure you own or are authorized to mange the domain before submitting a new request, special privileges will be required for verification.

An API is also available (see API)

  1. To setup a new domain, first navigate to your account interface: click the menu arrow on the top right and select the Account option.

  2. From your account, use the Domain tool to add a new domain.

  3. Tap the icon to open a new form.

  4. Insert one domain of choice and up to 25 subdomains (separated by a comma) per form.
    Although not required, we recommend using a subdomain like "mail" for sending emails and not more than 2 subdomains.

Once you have successfully added the domain, a new menu item will be added (you may have to refresh your tab).


Verify a domain

Note: It can take 24-48 hours for DNS changes to propagate.

Once a new domain is setup, it has to be validated. We will use DNS records for the process of verification. Once your domain is verified, do not remove the DNS records to maintain a verified status.

It usually takes between 5 to 15 minutes for Pidgeonet to verify a domain. The verification process will start automatically and you do not need to contact us for further action.

Follow the next steps to verify a domain.

SPF (TXT record)

Publish a new TXT record for your root domain and/or any subdomain you want to send emails with, and set its value
v=spf1 ~all

You can follow the steps below to add a new SPF record.

Publish DNS records

In this guide, you will learn how to publish and update a DNS TXT record.

To add a new TXT record you need to access your domain registrar. Below you can find a list of guides for the most common domain registrars.

While each registrar interface differs slightly in how DNS updates are made, they all follow Internet standards, so replaying the next steps should be trivial.

We will use Cloudflare to manage the domain in this example. Login to your hosting provider and navigate to the DNS section.

This area is called DNS at Cloudflare, but we’ve seen it called Networking in Digital Ocean and Zone Editor in cPanel.

  1. Click the Add record button to create a new DNS record.

  2. pidgeonet_help_domain_verify_cloudflare-2
  3. From the left menu labeled Type, select and add a new TXT record.

Publish SPF (Sender Policy Framework)

An SPF is a special type of TXT record used to list all authorized hostnames that are permitted to send email on behalf of your domain. We suggest using a subdomain for sending emails, in this guide you'll learn how to set up a SPF for both your root domain and subomains.

To publish a new SPF:

  1. create a TXT record and insert the subdomain (eg. in the field labeled Name (or hostname for other providers) and
    v=spf1 ~all in the Content field. Refer to the image below:


    If you’re not using a subdomain, add a new TXT record using your domain or @ as the Name (or hostname for other providers) and the appropriate SPF provided by Pidgeonet. Refer to the image below:

  2. Click the Save button.

New records need at least 30 minutes to propagate. Once both records have finished propagating, we will verify your domain automatically within 15 minutes.

Publish DKIM (DomainKeys Identified Mail)

You will have to go through this process every time you want to add a new subdomain to your domain.

Once your domain is verified you have to add a DKIM or your email might end up in the spam folder.

As one of the most popular email authentication methodologies, it works by using cryptographic technology that adds a digital signature to your message header. This DKIM signature validates and authorizes your domain name in the eyes of the receiver.

In this example we will set up a DKIM for the domain, note the mail subdomain.

  1. From the account interface find the verified domain you want to add the DKIM signature to.
    Click on Reveal and copy its value.

  2. Login to your hosting provider and add a new TXT record.

  3. Use for the Name field and paste the DKIM signature you copied from your Pidgeonet account in the Content field (remember to replace with your domain name). The result should look similar to the image below:

  4. Click the Save button. Your result will look like this:


    You have to add a DKIM signature for all of the subdomains you want to use to send emails.

Publish DMARC (Domain-based Message Authentication, Reporting and Conformance)

If you rely heavily on your mailing list and need to deliver high quality emails, DMARC will help your email go through the strictest filters.

We will use a subdomain (mail) to setup DMARC. You will have to setup DMARC for each domain and subdomain you want to send emails from.

  1. Login to your hosting provider and add a new TXT record.

  2. Use for the Name (or hostname) field and the following value for the Content field:
    v=DMARC1; p=quarantine; sp=quarantine; adkim=r; aspf=r; fo=1; rf=afrf; rua=mailto:[email protected]
    Remember to substitute with your domain. Refer to the image below:


Send one email

Send emails from your domain or Pidgeonet

You can send emails using your account GUI or the API.


Pidgeonet user have access to a guided user interface to send emails.
Once you have access to the emailing app, you can start sending right away using the Email tool (no verification required).

To access the interface:

  1. Click the menu arrow on the top right and select the Send option. You will be redirected.

  2. Choose the name and email you want to use for sending, add recipients, a subject and optional attachments.


Pidgeonet users can take advantage of the REST API to send emails.

You must verify your domain before you can start sending emails using its address. If you don't have a domain you can use Pidgeonet's and emails will be sent from

To start sending emails via the API, you first need to define all required email fields. The field "send_email" must be set to "1" for initialization. Below you will find a list of all the required and optional parameters.

The current standard API route:

You can follow the next examples.

# Send an email with curl.
# First we define the parameters required to send a valid email,
# among them, "sender_access_uqid" and "sender_access_token"
# can be retrieved from your account.
curl -s \
    -F send_email="1" \
    -F sender_access_uqid="Sign in to get your UUID" \
    -F sender_access_token="Sign in to get your access Token" \
    -F email_from="[email protected]" \
    -F email_from_name="Example" \
    -F email_to="[email protected]" \
    -F email_subject="A subject" \
    -F email_body="Some content" \
    -F email_alt_body=""
API route
# Field Type Description Required
1 send_email int Initializes the API.
Set to "1" to send one or more emails.
Set to "2" to initialize a test email.
2 sender_access_uqid string Your API access UUID Yes
3 sender_access_token string Your API access token Yes
4 email_from string The email of the sender of the message (eg. [email protected]) Yes
5 email_from_name string The name of the sender of the message (eg. Example) Yes
6 email_to string The email address of the recipient(s) (eg. [email protected]).
Multiple recipients separated by a comma (eg. [email protected],[email protected])
7 email_subject string The subject of the email Yes
8 email_body string The message of the email Yes
9 email_alt_body string The message of the email in HTML format No
10 email_reply_to string Specify a different recipient for replies No
11 email_return_path string Specify a different return address for emails that could not be sent or delivered No
Comments or suggestions