Skip to content

docs: SMTP egress troubleshooting, ISP details and unblock-request template#6672

Open
vvmmaann wants to merge 4 commits intonymtech:developfrom
vvmmaann:smtp-egress-template-and-isp-updates
Open

docs: SMTP egress troubleshooting, ISP details and unblock-request template#6672
vvmmaann wants to merge 4 commits intonymtech:developfrom
vvmmaann:smtp-egress-template-and-isp-updates

Conversation

@vvmmaann
Copy link
Copy Markdown

@vvmmaann vvmmaann commented Apr 15, 2026

What

Documentation-only PR adding operator-facing material around the SMTP outbound filter issue we surfaced via per-exit probing of the live mainnet.

Per chat discussion with the Nym team (the original community thread started by apricotastronoutskis reporting Thunderbird failures through Tech_Pundit Ashburn exits), this PR covers three of the four follow-ups that came out of the investigation:

  1. A new email template for operators to send to their hoster when outbound SMTP is filtered at the network edge.
  2. Updated isp-sheet.csv with notes on observed SMTP outbound behaviour for several existing entries, plus new entries for hosters with significant Nym presence not previously listed.
  3. New vps-isp.mdx troubleshooting section with a step-by-step decision tree for operators encountering this issue.

Everything here is grounded in a probe of all 472 exit gateways in the current network using the official nym-socks5-client v1.1.74. Per-exit raw probe data and the probe code are kept at https://github.com/vvmmaann/nym-checker for reproducibility.

Files changed

  • NEW documentation/docs/components/operators/templates/smtp_egress_unblock.md - email template, based on the wording that successfully convinced OneProvider to lift the filter on two of my own servers (Stockholm + Taipei).
  • MODIFIED documentation/docs/pages/operators/community-counsel/templates.mdx - imports the new template and adds a section with short context.
  • MODIFIED documentation/docs/pages/operators/troubleshooting/vps-isp.mdx - adds an "Outbound SMTP egress" section walking the operator through: test direct egress, ticket the hoster (linking to the new template), and identifying when the cause is IP reputation at the receiving mail provider rather than the hoster.
  • MODIFIED documentation/docs/data/csv/isp-sheet.csv - adds SMTP outbound notes to existing entries (Flokinet, Hostinger, Linode, OVH, Mebilcom, Oneprovider, Ionos, Leaseweb, M247) and 7 new entries (HostHatch, netcup, Contabo, Hetzner, WorkTitans, xneelo, DigitalOcean).

Headline numbers from the probe

  • 402 / 472 (85.2%) exit gateways are FULLY_OPEN: all four major mail providers (Gmail, Fastmail, Yandex, Outlook) reachable on port 587.
  • 16 (3.4%) are PARTIAL: hoster allows SMTP, but specific receivers have flagged the IP at their own anti-abuse layer.
  • 54 (11.4%) are HOSTER_BLOCKED: 0 of 4 mail providers reachable, the hoster is filtering at the network edge. These are the cases the new template targets.

The original apricotastronoutskis complaint (Tech_Pundit Ashburn, 4 nodes, all OneProvider) is in the HOSTER_BLOCKED category and would be resolved if Tech_Pundit opened the suggested ticket with their hoster.

Notes

  • Methodology caveat: only port 587 was tested in this run. Port 25 (MTA-to-MTA) and port 465 (SMTPS / TLS-handshake-first) need a separate test pass; some hosters block 25 but allow 587. The CSV notes reflect this where known from public docs.
  • The nym-wg-test.dev.nymte.ch test gateway operated by the Foundation itself is in the HOSTER_BLOCKED category. Worth surfacing internally.
  • This PR does not change the gateway-probe pipeline. Once the testnet probe expansion lands, the categorisation here should ideally be reproducible from the Foundation's own tooling.

This change is Reviewable

Adds operator-facing material covering the SMTP outbound filter
issue uncovered by per-exit probing of the live mainnet:

- New email template: Request to unblock outbound SMTP, based on
  the wording that successfully convinced OneProvider to lift the
  filter on two of my own servers.
- Adds the new template to community-counsel/templates.mdx with
  short context.
- New troubleshooting section in vps-isp.mdx with a step-by-step
  decision tree (test direct egress, ticket the hoster, identify
  IP-reputation issues at the receiving mail provider).
- Updates isp-sheet.csv with SMTP outbound notes for several
  existing entries (Flokinet, Hostinger, Linode, OVH, Mebilcom,
  Oneprovider, Ionos, Leaseweb, M247) and adds new entries for
  hosters with significant Nym presence not previously listed:
  HostHatch, netcup, Contabo, Hetzner, WorkTitans, xneelo,
  DigitalOcean.

The behaviour notes are based on a probe of all 472 exit
gateways currently in the network using the official
nym-socks5-client v1.1.74. Per-exit raw results and probe code
are kept at https://github.com/vvmmaann/nym-checker for
reproducibility.
@vvmmaann vvmmaann requested a review from mfahampshire as a code owner April 15, 2026 14:25
@github-actions
Copy link
Copy Markdown

Thank you for making this first PR

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 15, 2026

@vvmmaann is attempting to deploy a commit to the nyx-network Team on Vercel.

A member of the Team first needs to authorize it.

vvmmaann and others added 3 commits April 15, 2026 14:30
Operators may not want to reveal to their hoster that the server runs
a Nym node. Adds a minimal first variant that simply asks for the
SMTP ports without naming Nym - this is the wording that actually
worked on OneProvider for the report author. Full Nym-disclosure
version remains as Variant B for operators who prefer it.
- smtp_egress_unblock.md: "three servers" -> "two servers" (Stockholm + Taipei)
- isp-sheet.csv: Digial->Digital, BitLanch->BitLaunch, vandguards->vanguards
- isp-sheet.csv: fix date 07/2027->07/2025 for Dataclub
- isp-sheet.csv: remove duplicate Incognet entry

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant