Send from Your Own Domain

By default the emails Gate sends to your end users — email verification, account recovery, sign-in and registration codes, and the automatic-deletion warnings — come from Verne's address (noreply@vernesoft.com) and carry your account name as the sender name. With your own sender domain they come from an address on your domain, such as no-reply@mail.example.com, signed with that domain's own keys. Either way they are written in your user's language: see Language of the emails.

Not live in production yet. The dashboard card and the settings below are built and tested, but sending from customer domains stays switched off until the mail provider is connected. Until then the card does not appear on the Sign-in and users page, and every email goes out from Verne's address as before. The feature is listed on the Pro plan as "coming soon" and will be announced in the changelog. The language of the emails does not depend on it: it applies to every end-user email already.

Plan: Pro and above. A downgraded account keeps its settings and can still read, check and remove its domain, but its emails go out from Verne's address again.

The emails of the account itself (your own sign-in and billing messages) are not affected: they always come from Verne.


Set it up

Open Sign-in and users → Security, then the Sender domain card. Only the account owner can connect, change or remove the domain. Project admins see the same records and can press Check now, to hand the records to whoever manages your DNS. Project members do not see the card.

  1. Enter a domain. We suggest a subdomain of its own, mail.<your domain>. A root domain such as example.com is accepted, with a warning: its sending reputation is shared with your company mail, and it probably already has an SPF record, which a name can only have once.
  2. Publish the DNS records the card shows at your DNS provider. Copy the name and the value exactly. DNS changes can take up to 48 hours to appear.
  3. Wait for the check. Verne checks the records on its own, often at first and then less often, and you can press Check now at any time (at most once a minute). When the required records pass, the domain is Verified and your end users' emails start coming from it.

You choose the part before the @ (default no-reply), the sender name (default: your account name), and an optional reply-to address. Without a reply-to address, nobody reads replies to these emails. The domain itself cannot be changed after it is connected: to use another one, remove this one and connect the other.

Records

RecordRequiredWhat it is for
SPF (TXT)YesSays that the mail provider may send for your domain. If the name already has an SPF record, merge the value into it: a second one invalidates both.
DKIM (TXT)YesThe public key that lets receivers check the mail was signed by your domain. The value is long; if your DNS panel refuses it, split it into several quoted strings of up to 255 characters.
DMARC (TXT)RecommendedTells receivers what to do with mail that fails the checks.
MXRecommendedSays where mail addressed to the domain goes. For a no-reply subdomain it points at a black hole, so replies to that address are discarded: set a reply-to address for replies you want to read.

Each record shows whether it is valid, has the wrong value, or was not found. The mail provider's own message is kept in a collapsed Technical details block, in English.


Language of the emails

The emails to your end users are written in the user's own language: English, French, German, Spanish, Serbian (Latin script) or Italian. This does not need a sender domain; it applies to every end-user email.

The language is the user's locale trait. Set it when you create the user or in the registration flow, for example "locale": "fr". A regional form such as fr-CA or de_AT counts as its language. An empty or missing locale, or a language that is not in the list, gets English. Changing the trait changes the language of the next email.

Each email is short and says what it is for: the code (the subject carries it too, so it shows in a notification), what it unlocks, how long it is valid, and that the user can ignore the email if they did not ask for it. The name that appears in the subject and the text is your sender name (default: your account name); the automatic-deletion warnings carry the project's name. Every email has a plain-text part and a simple HTML part, with no images and no tracking.

The wording is fixed for now: you cannot change it or choose a language per project. The emails of your own account (sign-in, recovery, billing) are always in English and come from Verne.


Statuses

StatusMeaningWhere the mail goes
Waiting for DNSThe domain is connected and the records are not valid yet.Verne's address.
VerifiedSPF and DKIM are valid.Your domain.
FailingIt was verified and has stopped passing the check (a record was removed or changed).Depends on your choice below.
LockedThe provider locked the domain, usually after complaints or bounces, or sending was paused automatically because an unusual number of emails was queued.Depends on your choice below. Contact Verne support.

A domain that is not verified within 14 days is released, and you connect it again. A domain is checked twice in a row before it is called failing, because DNS sometimes flickers.

When the domain stops working

You choose what happens to the mail meanwhile:

  • Send from Verne's address (default). Emails keep arriving, from Verne's address instead of yours, until the domain works again.
  • Hold the emails until the domain works. Nothing goes out from Verne's address; emails wait and are retried, and are given up on after 72 hours. Sign-in codes expire after 15 minutes, so people waiting for a code will not receive it in time. Choose this only if mail from another sender is unacceptable to you.

Limits

To protect your domain's reputation, Verne limits how many emails one address receives (5 an hour and 20 a day) and how fast it sends overall. An email over a limit is delayed, not dropped. If an unusual number of emails builds up, sending from your domain is paused and the status becomes Locked: contact support.

Audit log

Connecting, changing and removing the domain, and a domain becoming verified or failing, are recorded in the audit log. Addresses are not written to it: it records whether a reply-to address was set, not what it was.

API

The dashboard routes are the only way to change the domain. There is no API-key route: a key lives in your backend and its logs, and the sender address of every email to every user is not something a key should be able to change.