Skip to content

Add mailblastr.com.mail-send-and-receive template (Amazon SES sending + receiving)#1293

Merged
pawel-kow merged 3 commits into
Domain-Connect:masterfrom
shekhu10:add-mailblastr-verification-and-receive
Jun 27, 2026
Merged

Add mailblastr.com.mail-send-and-receive template (Amazon SES sending + receiving)#1293
pawel-kow merged 3 commits into
Domain-Connect:masterfrom
shekhu10:add-mailblastr-verification-and-receive

Conversation

@shekhu10

@shekhu10 shekhu10 commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Description

Adds mailblastr.com.mail-send-and-receive.json — a Domain Connect template that configures DNS for both sending and receiving email with MailBlastr, a developer email platform built on Amazon SES. It installs:

  • a DKIM key TXT on the fixed selector host mailblastr._domainkey (BYODKIM public key),
  • the outbound MAIL FROM records on the custom MAIL FROM subdomain — an SPFM SPF record + a feedback MX (feedback-smtp.%region%.amazonses.com),
  • an inbound MX (inbound-smtp.%region%.amazonaws.com) so the domain can receive mail.

The record set mirrors the already-merged resend.com.mail-send-and-receive.json (same Amazon SES records) and is a companion to the merged mailblastr.com.email.json (#1292). dc-template-linter reports no warnings or errors for this file.

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

  • Template functionality checked using Online Editor
  • Template file name follows the pattern <providerId>.<serviceId>.json
  • resource URL provided with logoUrl is actually served by a webserver — https://www.mailblastr.com/logo.svg (200, image/svg+xml)

Checklist of common problems

Mark all the checkboxes after conducting the check. Comment on any point which is not fulfilled.
See Template Quality Guidelines for details and rationale on each rule.

  • syncPubKeyDomain is set — this is mandatory; omitting it requires explicit justification in the PR description or the PR will be rejected
  • warnPhishing is not set alongside syncPubKeyDomain — the two must not appear together
  • syncRedirectDomain is set whenever the template uses redirect_uri in the synchronous flow
  • no TXT record contains SPF content ("v=spf1 ...") — use the SPFM record type instead
  • txtConflictMatchingMode is set on every TXT record that must be unique per label or content prefix (e.g. DMARC)
  • no variable is used as a bare full record value (e.g. @ TXT "%foo%") unless necessary — prefer @ TXT "service-foo=%foo%"; if bare, justify in the PR description — N/A: the only TXT (DKIM) uses a prefixed value v=DKIM1; k=rsa; p=%domainKey%
  • no bare variable is used as the full host label — the non-variable parts are fixed to limit misuse (e.g. %dkimkey%._domainkey, not %dkimhost%); if bare, justify in the PR description — see justification below (%mailfromhost%, %inboundMXDomain%)
  • no variable is used in the host field to create a subdomain — use the host parameter or multiInstance instead — see justification below
  • %host% does not appear explicitly in any host attribute
  • essential is set to OnApply on records the end user may need to modify or remove without breaking the template (e.g. DMARC)

Notes on the checklist:

  • The DKIM key TXT uses a fixed selector host (mailblastr._domainkey) and a prefixed value (v=DKIM1; k=rsa; p=%domainKey%), so neither the bare-value nor the bare-host rule applies to it.
  • The bare host variables are %mailfromhost% (the per-domain SES custom MAIL FROM subdomain label, default send) and %inboundMXDomain% (the host the user wants to receive mail on). Both must be variables because they are chosen per domain by the user. This mirrors the merged resend.com.mail-send-and-receive.json (%spfDomain%, %inboundMXDomain%), and dc-template-linter reports no issue.
  • This template contains no DMARC or other user-removable / uniqueness-sensitive record, so txtConflictMatchingMode and essential: OnApply are not applicable.

Online Editor test results

Editor test link(s):
Test mailblastr.com/mail-send-and-receive example.com/@

Test mailblastr.com/mail-send-and-receive example.com/mail

@github-actions github-actions Bot added PR description incomplete The PR description template was not filled in at all, altered or filled in improperly. Test links missing No test links from Online Editor provided labels Jun 25, 2026
@github-actions

Copy link
Copy Markdown

JSON Filename Check Passed

@github-actions

Copy link
Copy Markdown

JSON Schema Validation Passed

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown

Linter OK

mailblastr.com.mail-send-and-receive.json

Level Code Note

DKIM (in the email / mail-send-and-receive templates) already proves DNS control,
so it is the domain verification — both for sending and for receiving (inbound MX).
The separate apex ownership TXT was a redundant app-layer gate and has been dropped
from MailBlastr, so this template is no longer used.
@shekhu10 shekhu10 changed the title Add mailblastr.com domain-verification + mail-send-and-receive templates Add mailblastr.com.mail-send-and-receive template (Amazon SES sending + receiving) Jun 27, 2026
@github-actions github-actions Bot removed PR description incomplete The PR description template was not filled in at all, altered or filled in improperly. Test links missing No test links from Online Editor provided labels Jun 27, 2026
@github-actions

Copy link
Copy Markdown

PR Description Check Passed

All required sections are filled in correctly.

Details
  OK  Type of change: 1/4 checkboxes ticked
  OK  How Has This Been Tested?: all 3 checkboxes ticked
  OK  Checklist of common problems: 7/10 checkboxes ticked
  OK  Online Editor test results: 2 link(s) found
  OK  Template coverage: all 1 template(s) covered
Labels to remove: Checklist of common problems not complete, Forged editor links, PR description incomplete, Test links missing

PR description check PASSED

@pawel-kow pawel-kow added this pull request to the merge queue Jun 27, 2026
Merged via the queue into Domain-Connect:master with commit 4214e9f Jun 27, 2026
9 of 11 checks passed
shekhu10 added a commit to shekhu10/Templates that referenced this pull request Jun 27, 2026
Domain-Connect#1301)

# Description

Adds `mailblastr.com.domain-verification.json` — a Domain Connect
template that proves **domain ownership** for
[MailBlastr](https://www.mailblastr.com), a developer email platform
built on Amazon SES.

It installs a single apex **TXT** record with a prefixed value:
- `@ TXT "mailblastr-domain-verification=%verificationToken%"`, with
`txtConflictMatchingMode: Prefix` so re-verification updates the
existing record instead of duplicating it.

It is a companion to the merged `mailblastr.com.email.json` (Domain-Connect#1292) and
the `mailblastr.com.mail-send-and-receive.json` (Domain-Connect#1293).
`dc-template-linter` reports **no warnings or errors** for this file.

## Type of change

Please mark options that are relevant.

- [x] 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
- [x] Template functionality checked using [Online
Editor](https://domainconnect.paulonet.eu/dc/free/templateedit)
- [x] Template file name follows the pattern
`<providerId>.<serviceId>.json`
- [x] resource URL provided with `logoUrl` is actually served by a
webserver — https://www.mailblastr.com/logo.svg (200, `image/svg+xml`)

# Checklist of common problems

Mark all the checkboxes after conducting the check. Comment on any point
which is not fulfilled.
See [Template Quality
Guidelines](../README.md#template-quality-guidelines) for details and
rationale on each rule.

- [x] `syncPubKeyDomain` is set — **this is mandatory**; omitting it
requires explicit justification in the PR description or the PR will be
rejected
- [x] `warnPhishing` is **not** set alongside `syncPubKeyDomain` — the
two must not appear together
- [x] `syncRedirectDomain` is set whenever the template uses
`redirect_uri` in the synchronous flow
- [x] no TXT record contains SPF content (`"v=spf1 ..."`) — use the
`SPFM` record type instead
- [x] `txtConflictMatchingMode` is set on every TXT record that must be
unique per label or content prefix (e.g. DMARC)
- [x] no variable is used as a bare full record value (e.g. `@ TXT
"%foo%"`) unless necessary — prefer `@ TXT "service-foo=%foo%"`; if
bare, justify in the PR description
- [x] no bare variable is used as the full `host` label — the
non-variable parts are fixed to limit misuse (e.g.
`%dkimkey%._domainkey`, not `%dkimhost%`); if bare, justify in the PR
description
- [x] no variable is used in the `host` field to create a subdomain —
use the `host` parameter or `multiInstance` instead
- [x] `%host%` does not appear explicitly in any `host` attribute
- [x] `essential` is set to `OnApply` on records the end user may need
to modify or remove without breaking the template (e.g. DMARC)

**Notes on the checklist:**
- The single TXT uses a fixed `@` host and a prefixed value
(`mailblastr-domain-verification=%verificationToken%`) with
`txtConflictMatchingMode: Prefix` + `txtConflictMatchingPrefix`, so the
bare-host, bare-value, subdomain-via-variable, and SPF rules do not
apply.
- The record is the template's sole verification record (not a
user-modifiable record like DMARC), so `essential: OnApply` is not
applicable.

## Online Editor test results

<!--
Required. Run the template in the Online Editor
(https://domainconnect.paulonet.eu/dc/free/templateedit):
load -> Check template -> Test apply (apex AND subdomain) -> Copy
Markdown.
-->

**Editor test link(s):**

[Test mailblastr.com/domain-verification
example.com/@](https://domainconnect.paulonet.eu/dc/free/templateedit?token=H4sIAIMYQGoC%2F%2BVTXY%2FaMBD8K8jSPR2BEAIJkSq1vapVS6lQj57aIhQ58QasJnGwHSAg%2FnvXfBxQqK7vfYqdmdnd8e5uiIasSKkGEmxIIcWCM5AfGQlIRnkapVRp2YhFRurP6BeaIZsMEH%2B7wxFTIBc8hp2QCZTm1gIkT3hMNRf5iXEQv9txak%2BXHJQocwpayK%2FyeFhGfaj23FsVGc5XYFxCrJ9Zy%2BWyccVkoGLJi12egOzSVrV9oTWxzDHvjBe1RMjayVYDdamYim8yRc1M60IFzeZ1%2BKYhNdRiinysREimSDDeEF0Vxuro%2BwiBmVAaL6%2FxqDXGa3dtG8uiml4Ys2483qu789tI%2FIL8zoRZ6QeRJymP9YDqeMbz6UAwk3EoIeGr25QD9mJOsp1s62QtcghPnib1Q3NRDyuKgwOH9z3Yw9NUirII%2BZFfUEkzZYbrqBxfSCdH7ZiY85VTA2TRvrbKaic96sRe1AKfEVMgn%2BZCQqjwS3Up0b2WJdRJVqaah3RJT79YHNKiSCv0oxDFwH%2F2KN%2FPpunRvzXmL4VdtDhksXHPzWZErte2e93Y8nuub7ldx7b8hEZWxFq9xAPX7VH%2FbNFur%2BHLq3ZqBigFuebUDPCbdEkrRbbbSR0b8796xxlTdAEspIbm2E7XsruW441aftD2gk6n0fFabsu9t%2B3Ato0dUHr%2FIhuct%2FNJIw8%2FnR%2BP771y%2FST6eX%2B4cH1n%2Fem%2BzDiwD48amnOnPW%2FP9WeVurhPvwEMY0L5awUAAA%3D%3D)


[Test mailblastr.com/domain-verification
example.com/sub](https://domainconnect.paulonet.eu/dc/free/templateedit?token=H4sIALQYQGoC%2F%2BVT72%2FaMBD9V5ClfioBJwFCI03aj2pb11KxjU6VKhQ5thOsJnFqO4QU8b%2FvHGgpK1P3fZ9i597z3bt7t0aG52VGDEfhGpVKLgXj6oKhEOVEZHFGtFE9KnPUfY5ekxzQaALxj20cYpqrpaC8JTIJ1MJZciUSQYkRstgjduTzFtP5dYgBiran0AV8U9BpFV%2FyZos9VpHF%2FOBMKE7NM6qu694rJOOaKlG2eULUpm0620I7si4g70KUnUSqzl5WD3iZTOWNyoCzMKbUYb%2F%2F%2Bvm%2BBfX0MgU8VCIV0yi8WyPTlFbq7HYGgYXUBi7v4WgMvOePMIayiCEHwpwjzXt38vI2k%2Fe8OLHPrMwnWSSZoGZCDF2IIp1IZjNOFU%2FE6jhkF3szJ9rMN130KAse7TXNu7vhAp%2BvCBiH7%2Fq7k6erGC6pklUZiSdKSRTJtfXXE%2FnugD1%2Fot%2B1%2FHnrg0O9NpbH2wobx0%2FOiEeD2OVjhmyZIi2k4pGGLzGVgh4YVfEuyqvMiIjUZP%2BL0YiUZdaAKg1RePjPSRVbh26l%2FNuA%2FlLawagjRm0LhN2QoU%2FoKMDEGdFg4Axc%2F8yJPS92MMEjOmQBw7H7YuGOr%2BPbK3cwFK41L4wg1ssfspo0Gm028y4M6L9uALhNkyVnEbFID3sjB48cL5i549Afh4NBz8U4GA5PMQ4xtoq4NtumrMF5Lz2HTi8e6vr2azz94i%2FLy%2B%2F3%2Ffjn%2BLNXFcpLr8%2B%2FXXnJQ7Ly3ebmKr2H%2FfoNnc9nGnsFAAA%3D)
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.

2 participants