Set up your sending domain and warm-up
Choose the domain marketing email comes from, add its DNS records, watch the daily limit rise, set the postal address and fix a setup that is not ready.
In the dashboard
Sending is where you set up the domain that marketing email comes from, and how fast it may go. Marketing email leaves from a domain of its own, usually news. in front of your own domain, through Coritan's mail platform. It never uses the sender that carries your order emails. No campaign or automation can send until this page says your domain is set up and its records are in place.
Before you begin
Section titled Before you begin- You need Tier 3 support or higher to open Sending, and an owner or admin to change anything on it.
- Know the domain you will send from. You need to change its DNS records, or have the zone on Coritan DNS, which publishes them for you (Add, edit and delete DNS records).
- Have your organization's postal address. Every marketing email shows it, and a campaign cannot start without it.
Set up the sending domain
Section titled Set up the sending domainA sending domain is a name of its own, such as news.example.com, that marketing email comes from. Keeping it apart protects the reputation of the address your order emails use.
- In the dashboard, open the organization, then Commerce, then Email, then Sending.
- Under Sending domain, leave Domain empty to use
news.in front of your organization's custom domain, or in front of your storefront's host. Or enter a domain such asnews.example.com. - Select Set up domain.
The status badge on the card moves from Not set up to Waiting for DNS. The page now lists the records the domain needs.
- The domain must be a subdomain, such as
news.example.com, so the email you already use onexample.comkeeps working. - It cannot be one that another organization uses.
- You can change the domain until its records have been verified. After that it is locked, and Coritan support has to move it.
- Setting up is safe to repeat. It allows 30 calls an hour.
Add the DNS records
Section titled Add the DNS recordsDKIM, SPF and DMARC are three records that prove an email really comes from you. DKIM signs each message, SPF lists the servers allowed to send it, and DMARC says what a receiver should do with a message that fails. Mail apps trust a sender more, and filter it less, when all three are in place.
The DNS records card lists each record with its Record (what it is for and its type), its Name, its Value and its Status. Copy each Name and Value to your DNS provider. When your DNS zone is on Coritan DNS, we publish them and you add nothing.
| Record | Type | What it is for |
|---|---|---|
| Domain ownership | TXT at _mailverify on your sending domain |
Proves the domain is yours. It is listed only when your DNS is not on Coritan DNS. |
| SPF | TXT at your sending domain |
Lists the servers allowed to send for the domain. A name has one SPF record, so if your sending domain already has one, add our include: to it. |
| DKIM | TXT or CNAME, one or more |
The key receivers use to check each message's signature. |
| DMARC | TXT at _dmarc on your sending domain |
Tells receivers what to do with mail that fails SPF and DKIM. |
| Click tracking | CNAME at click on your sending domain |
Lets the links in your emails run on your own domain. Sending does not wait for it. |
There is no separate record for the return path. Bounces come back to a bounce+ address on your sending domain itself, which the SPF record covers.
A record's Status reads In place when DNS answers with the right value, Different value when the name holds something else, and Not found when nothing is there. The click tracking record reads Waiting when its name is in place and the host does not answer yet. DNS changes can take a while to spread.
Select Check records after you add them. It checks again and answers how many records are in place. When the ownership, SPF, DKIM and DMARC records are all In place, the domain is verified and the warm-up starts at once. Click tracking is Waiting until https://click.<your domain> answers with a valid certificate. Until it does, links in your emails run on Coritan's own address. Check records allows 30 checks an hour.
The Status card shows the Domain, the address emails are sent from (Sends from), the Tracking host and when it was Verified.
Set the sender and the postal address
Section titled Set the sender and the postal addressUnder Sender and limits, set what readers see and the address every email shows:
| Field | What it takes |
|---|---|
| Sender name | What readers see before the address, up to 100 characters on one line. |
| Address before the @ | Letters, numbers, dots, dashes and underscores, up to 64. It defaults to hello. The address ends with your sending domain. |
| Reply to | Where replies go. Leave it empty to use your store's support address. |
| Postal address | One line of 10 to 500 characters. Every marketing email shows it, as the law asks. A campaign cannot start without one. A line break becomes a space. |
| Emails each minute | The top speed, from 1 to 5,000. It is 300 until you change it. A campaign can set a lower one. |
Select Save changes. A campaign can use its own sender name, address and reply-to (Write, test and send email campaigns).
Warm-up and the daily limit
Section titled Warm-up and the daily limitA new domain has no sending history, so mail apps are careful with it. The warm-up starts the daily limit low and raises it each day your sending stays clean. The Daily limit card shows how much of today's limit you used, the Stage, Today's limit, Left today, and what the limit becomes Tomorrow, if all goes well.
| Stage | Emails a day |
|---|---|
| 1 | 50 |
| 2 | 100 |
| 3 | 200 |
| 4 | 400 |
| 5 | 800 |
| 6 | 1,500 |
| 7 | 2,500 |
| 8 | 4,000 |
| 9 | 6,000 |
| 10 | 9,000 |
| 11 | 13,000 |
| 12 | 20,000 |
| 13 | 30,000 |
| 14 | 50,000 |
| Finished | No daily limit. Only Emails each minute limits sending. |
The limit counts emails sent since midnight UTC, for campaigns and automations together. A stage moves up once a day, when the day before met all three conditions:
- You sent at least half of that stage's limit. A quiet day proves nothing to mail apps.
- Fewer than 3% of the emails sent that day bounced.
- Fewer than 0.1% of them were reported as spam.
The day is judged an hour after midnight UTC, so late bounces count. A stage that does not meet the conditions repeats the next day. The warm-up does not move while sending is paused. The status reads Warming up until stage 14 is passed, then Ready.
A campaign larger than the day's room sends what fits and continues the next day. The rest wait as Waiting to go in its report. An email that would go to a mailbox provider the mail platform has not sent to before can be held for a while, and goes out later. If Coritan staff set a fixed daily cap for your organization, it replaces the stage limit and sending reads Ready.
Automatic pausing
Section titled Automatic pausingUnder Sender and limits, you set the limits at which auto-pause acts. After at least 200 emails of a campaign are delivered, the campaign pauses if its bounce rate or its spam report rate goes over your limits:
| Setting | What it does | Default | Allowed |
|---|---|---|---|
| Bounces go over | Pauses a campaign when more than this share of its emails bounced. | 5% | 0.5% to 10% |
| Spam reports go over | Pauses a campaign when more than this share of its emails were reported as spam. | 0.3% | 0.05% to 0.5% |
The campaign shows why it paused, such as Paused automatically: 6.2% of this campaign's emails bounced, over your limit of 5%. Remove old or mistyped addresses from your lists, then resume. If two campaigns in a row pause this way, all your marketing email pauses. Clean your lists, check how people join them, and then resume.
The Overview badge reads Watch above 2% bounces or 0.1% spam reports, and Critical over your limits or while sending is paused (Set up email marketing for your store).
Pause and resume sending
Section titled Pause and resume sendingSelect Pause sending…, add a Reason if you like, and confirm with Pause sending. Every campaign and automation stops now. Emails already queued wait and go out after you resume. Resume sending starts it again, whether you paused it or an automatic pause did.
If Coritan staff paused your sending, the page says Coritan staff paused your sending, gives their reason and shows no way to resume. Only staff can lift their own pause. Open a ticket from the page to find out why.
Bounces and spam reports
Section titled Bounces and spam reportsThe mail platform tells us what happened to each email after it left, and we act on it once for each email:
- A hard bounce, a permanent failure such as a mailbox that does not exist, suppresses the address and sets the contact to Bounced.
- An email the platform gave up on after temporary failures, such as a full mailbox, counts as a bounce. It suppresses the address only after three of them in 30 days.
- A spam report suppresses the address and sets the contact to Marked as spam.
The contact leaves every list, and the suppression list used by the store's flows holds the address too. Nobody can lift a bounce or a spam report. Each is also sent as a webhook event, and campaign reports list bounces by reason.
An email that fails because the platform could not take it right away is tried again after 2, then 10, then 30 minutes. After the fourth failure it is marked Failed. An email is never sent twice: when we cannot tell whether one went out, it is marked Failed and not tried again.
When sending is not ready
Section titled When sending is not readyA campaign that cannot start answers with a reason. The same reasons show as Sending is not ready in the schedule dialog.
| Reason | What it means | What to do |
|---|---|---|
not_set |
No sending domain. | Select Set up domain. |
pending_dns |
Some required records are not in place. | Add them, then select Check records. A record that reads Different value holds something else at that name, such as a second SPF record. |
no_address |
No postal address. | Fill in Postal address and select Save changes. |
paused |
You or an automatic pause paused sending. | Select Resume sending. |
staff_paused |
Coritan staff paused sending. | Open a ticket. Only staff can resume. |
daily_limit |
Today's limit is used up. | Wait for tomorrow. A send that did not fit continues, and the limit rises as your history builds. |
daily_limit stops a campaign from starting now. A scheduled campaign and a resume go ahead, and the emails that do not fit wait for the next day.
A setup call can also answer 422 with invalid_domain or use_subdomain, 409 with domain_unavailable or domain_locked, and 503 with mail_unavailable when the mail platform cannot take a new domain yet. Try again later in the last case.
Result
Section titled Result- The status badge reads Warming up once the required records are In place, then Ready.
- Daily limit shows the stage and how many emails you can still send today.
- A campaign you schedule starts instead of answering that sending is not ready.
Troubleshooting
Section titled Troubleshooting- A record stays Not found
- DNS has not spread yet, or the record is at another name. Compare the Name on the page with the one at your DNS provider, wait a while and select Check records again.
- A record reads Different value
- The name holds another value. For SPF, a name can have only one record: merge our
include:into it. For DKIM, copy the whole value, which is long. - The domain cannot be changed
- Its records were verified, so it is locked. Ask support to move it.
- The page is read-only
- Changing the setup needs an owner or admin. Tier 3 support can read it.
- A campaign paused by itself
- Its bounce or spam report rate went over your limits. Clean your lists, then resume.
- Sending is slower than I expected
- The warm-up limit, Emails each minute or the campaign's own speed holds it back. Read the Daily limit card and the campaign's speed under Sending speed.
Related
Section titled Related- Set up email marketing for your store
- Write, test and send email campaigns
- Manage your email contacts, lists and segments
- How email reaches an inbox
With the API
Section titled With the APIThe routes are under https://api.coritan.com/api/v1/orgs/{org_slug}/marketing/sending. Reading takes marketing.settings:read and changing takes marketing.settings:write (API key scopes).
GET /sending answers {sending}:
| Field | What it holds |
|---|---|
status |
not_set, pending_dns, verified, warming, ready or paused. |
domain, tracking_host, verified_at |
The domain, its tracking host once verified, and when the records were verified. |
from_name, from_local, from_address, reply_to, physical_address |
The sender and the postal address. |
warmup |
{stage, started_at, daily_limit}, with stage from 0. |
daily_cap, per_minute |
A fixed cap set by Coritan staff, and the speed in emails a minute. |
quota |
{daily_limit, sent_today, remaining}. daily_limit and remaining are null without a daily limit. |
thresholds |
{bounce_pause_pct, complaint_pause_pct}. |
paused, paused_by_staff, paused_reason, paused_at |
The pause. |
dns |
{records, checked_at}. Each record is {type, name, value, purpose, status}. purpose is ownership, spf, dkim, dmarc or tracking, and status is verified, pending, mismatch or missing. |
POST /sending/setupsets up the domain. Send{"domain": "news.example.com"}, or no body fornews.in front of your own domain. It answers{sending}with the records to add.Shellcurl -X POST "https://api.coritan.com/api/v1/orgs/acme/marketing/sending/setup" \ -H "X-API-Key: $ORG_API_KEY" -H "Content-Type: application/json" \ -d '{"domain": "news.example.com"}'Add the records, then
POST /sending/verifychecks them and answers{sending}. It movespending_dnstowarmingonce every required record is in place. Without a domain, it answers409withnot_set.PUT /sendingchanges the sender and the limits. Send only what changes:Shellcurl -X PUT "https://api.coritan.com/api/v1/orgs/acme/marketing/sending" \ -H "X-API-Key: $ORG_API_KEY" -H "Content-Type: application/json" \ -d '{"from_name": "Acme Games", "physical_address": "12 Dock Road, Hamburg 20095, Germany", "per_minute": 300, "thresholds": {"bounce_pause_pct": 5, "complaint_pause_pct": 0.3}}'A value outside its range answers
422withinvalidand thefield, such asper_minuteorbounce_pause_pct.POST /sending/pausetakes an optionalreasonof up to 500 characters and stops all marketing email.POST /sending/resumestarts it again, and answers409withstaff_pausedwhen Coritan staff paused it.
Setup and verify each allow 30 calls an hour per organization, and answer 429 with rate_limited beyond that.
API operations on this page
| Method | Path | What it does |
|---|---|---|
GET | /api/v1/orgs/{org_slug}/marketing/sending | Get sending |
PUT | /api/v1/orgs/{org_slug}/marketing/sending | Update sending |
POST | /api/v1/orgs/{org_slug}/marketing/sending/pause | Stop all marketing email now |
POST | /api/v1/orgs/{org_slug}/marketing/sending/resume | Start sending again after a pause, yours or an automatic one |
POST | /api/v1/orgs/{org_slug}/marketing/sending/setup | Set up the sending domain |
POST | /api/v1/orgs/{org_slug}/marketing/sending/verify | Check the DNS records again |