Add euromail.dev mail template#942
Conversation
EuroMail is a GDPR-compliant transactional email API with EU data
residency (Finland). This template configures DKIM signing, SPF
authorization, and bounce handling via MX records.
Records created:
- TXT: euromail._domainkey.{subdomain} (DKIM public key)
- SPFM: {subdomain} (include:spf.euromail.dev)
- MX: {subdomain} -> bounce.euromail.dev (priority 10)
Variables: subdomain (default: em), dkimKey (per-domain DKIM public key)
|
✅ JSON Filename Check Passed |
|
✅ JSON Schema Validation Passed |
Linter OK
|
| Level | Code | Note |
|---|---|---|
| info | DCTL1039 | all records use the same variable as suffix, consider using host parameter instead |
Fixes DCTL1005 (invalid txtConflictMatchingMode 'Full') and DCTL1013 (missing txtConflictMatchingPrefix for Prefix mode).
MX for bounce handling is optional for basic sending functionality. Users can remove it without breaking DKIM or SPF.
PR Description Check PassedAll required sections are filled in correctly. Details |
| "records": [ | ||
| { | ||
| "type": "TXT", | ||
| "host": "euromail._domainkey.%subdomain%", |
There was a problem hiding this comment.
All host entries have the same %subdomain% suffix. It looks like against Rule 8 where host parameter shall be used instead.
@kerolasa is it worth adding to the linter if all RRs share the same variable as suffix?
There was a problem hiding this comment.
is it worth adding to the linter if all RRs share the same variable as suffix?
Feels like this should be an info level message saying something like: all records use the same %variable% as suffix, consider using host parameter instead
Let me spend a moment making that happen.
There was a problem hiding this comment.
Maybe something like this.
Give recommendation to Service Providers they should prefer using host rather than use a shared suffix variable in every single record. Requested-by: Pawel Kowalik <kowalik@denic.de> Reference: Domain-Connect/Templates#942 (comment) Signed-off-by: Sami Kerola <kerolasa@iki.fi>
|
This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 15 days. |
Description
Add Domain Connect template for EuroMail, a GDPR-compliant transactional email API with EU data residency (Finland). The template configures DKIM signing, SPF authorization, and bounce handling for transactional email delivery.
Type of change
How Has This Been Tested?
<providerId>.<serviceId>.jsonlogoUrlis actually served by a webserverChecklist of common problems
syncPubKeyDomainis set — set toeuromail.devwarnPhishingis not set alongsidesyncPubKeyDomainsyncRedirectDomainis set whenever the template usesredirect_uriin the synchronous flowSPFMrecord type for SPFtxtConflictMatchingModeis set on every TXT record that must be unique per label or content prefix — set toPrefixwithv=DKIM1on the DKIM recordv=DKIM1; k=rsa; p=%dkimKey%hostlabel — DKIM host iseuromail._domainkey.%subdomain%hostfield to create a subdomain —%subdomain%is used as a host prefix (e.g.em). This is intentional: euromail isolates transactional email DNS under a configurable subdomain (defaultem) to protect the root domain's reputation. This is the same pattern used by Resend (%spfDomain%) and other email providers.%host%does not appear explicitly in anyhostattributeessentialis set toOnApplyon records the end user may need to modify or remove without breaking the template — not applicable, all three records (DKIM, SPF, MX) are required for the service to function. MX is needed for VERP bounce routing.Online Editor test results
Editor test link(s):
Test euromail.dev/mail example.com/@
Test euromail.dev/mail example.com/sub
Contact