Skip to content

Lettr.com - Add CNAME records for storageCertificate and storageTraffic#748

Merged
pawel-kow merged 7 commits intoDomain-Connect:masterfrom
Tlapi:master
Feb 6, 2026
Merged

Lettr.com - Add CNAME records for storageCertificate and storageTraffic#748
pawel-kow merged 7 commits intoDomain-Connect:masterfrom
Tlapi:master

Conversation

@Tlapi
Copy link
Contributor

@Tlapi Tlapi commented Feb 6, 2026

Description

Add CNAME records for Storage Certificate and Storage Traffic Proxy

Type of change

Please mark options that are relevant.

  • New template
  • Bug fix (non-breaking change which fixes an issue in the template)
  • New feature (non-breaking change which adds functionality to the template)
  • Breaking change (fix or feature that would cause existing template behavior to be not backward compatible)

How Has This Been Tested?

Please mark the following checks done

  • Schema validated using JSON Schema template.schema
  • Template functionality checked using Online Editor
  • Template is checked using template linter
  • Template file name follows the pattern <providerId>.<serviceId>.json
  • resource URL provided with logoUrl is actually served by a webserver

Checklist of common problems

Mark all the checkboxes after conducting the check. Comment on any point which is not fulfilled.

  • digital signatures are used and syncPubKeyDomain specified (yes, warnPhishing is an option, but some providers reject such templates by policy, so signing shall be a default)
  • syncRedirectDomain is specified when intended to use redirect_uri parameter in the synchronous flow
  • no TXT record with SPF content (i.e. "v=spf1 ...") instead of using SPFM record type on APEX
  • txtConflictMatchingMode is set on TXT records which shall be unique on a label (like DMARC)
  • variables are set to the smallest scope needed (i.e. limit possibility to be misused to set any arbitrary record and conflict with other template). Too broad scope example: @ TXT "%verification%". Better usage: @ TXT "foo-verification=%verification%".
  • no variables as a host name to apply template on subdomain instead of standard host parameter
  • no explicit usage of %host% variable in host attribute
  • essential setting is used on records, which the user shall be able to change or remove manually later without dropping the whole template (like DMARC)

Example variable values

<-- to make review process easier please provide example set of variable values and output for this template -->

<-- Example: provide the whole testData object from the Online Editor after testing and using "Add as test" button. Hint: test also with "host" variable set. -->

"testData": {
    "lettr-test": {
      "variables": {
        "domain": "example.com",
        "group": [
          "cname",
          "spf",
          "dkim",
          "dmarc",
          "trackingCertificate",
          "trackingTraffic",
          "storageCertificate",
          "storageTraffic",
          "inbound"
        ],
        "cnameDomain": "newsletter",
        "spfDomain": "newsletter",
        "dkimSelector": "scph0226",
        "dkimValue": "v=DKIM1;k=rsa;h=sha256;p=MI...",
        "dmarcDomain": "_dmarc.newsletter",
        "dmarcTxtValue": "v=DMARC1; p=none;",
        "trackingDomain": "click",
        "certificateValue": "click.example.com.8f4ba1f77c1f98fa.dcv.cloudflare.com",
        "storageDomain": "mail-assets",
        "storageCertificateValue": "mail-assets.example.com.f619c5ce1bd74ce8.dcv.cloudflare.com",
        "inboundMXDomain": "inbound"
      },
      "results": [
        {
          "type": "CNAME",
          "name": "newsletter",
          "ttl": 3600,
          "data": "sparkpostmail.com"
        },
        {
          "type": "TXT",
          "name": "newsletter",
          "ttl": 6000,
          "data": "\"v=spf1 include:_spf.sparkpostmail.com ~all\""
        },
        {
          "type": "TXT",
          "name": "scph0226._domainkey",
          "ttl": 3600,
          "data": "\"v=DKIM1;k=rsa;h=sha256;p=MI...\""
        },
        {
          "type": "TXT",
          "name": "_dmarc.newsletter",
          "ttl": 3600,
          "data": "\"v=DMARC1; p=none;\""
        },
        {
          "type": "CNAME",
          "name": "_acme-challenge.click",
          "ttl": 3600,
          "data": "click.example.com.8f4ba1f77c1f98fa.dcv.cloudflare.com"
        },
        {
          "type": "CNAME",
          "name": "click",
          "ttl": 3600,
          "data": "proxy.lettr-tracking.com"
        },
        {
          "type": "CNAME",
          "name": "_acme-challenge.mail-assets",
          "ttl": 3600,
          "data": "mail-assets.example.com.f619c5ce1bd74ce8.dcv.cloudflare.com"
        },
        {
          "type": "CNAME",
          "name": "mail-assets",
          "ttl": 3600,
          "data": "fallback.topol-assets.com"
        },
        {
          "type": "MX",
          "name": "inbound",
          "ttl": 3600,
          "data": "10 rx1.sparkpostmail.com"
        },
        {
          "type": "MX",
          "name": "inbound",
          "ttl": 3600,
          "data": "10 rx2.sparkpostmail.com"
        },
        {
          "type": "MX",
          "name": "inbound",
          "ttl": 3600,
          "data": "10 rx3.sparkpostmail.com"
        }
      ]
    }
  }

@github-actions
Copy link

github-actions bot commented Feb 6, 2026

Linter OK:

Linter result for lettr.com.mail-send-and-receive.json

@pawel-kow pawel-kow added this pull request to the merge queue Feb 6, 2026
Merged via the queue into Domain-Connect:master with commit 238d937 Feb 6, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants