Certificato AgentReady.md verificato
Emesso il sig: 17bcf9ed702cdd3b Verifica →

URL analizzato

https://tenvio.email

Misurato 3 settimane fa

Analizza un altro URL

Punteggio AI-Ready

Eccellente

su 100

Risparmio di token

Token HTML 6649
Token Markdown 1738
Risparmio 74%

Dettaglio del punteggio

Accessibilità 100/100
Scopribilità IA 82/100
Dati Strutturati 100/100
HTML Semantico 89/100
Efficienza dei contenuti 86/100

Protocolli emergenti

0 di 6 rilevati

Endpoint well-known cercati dagli agenti IA. Rilevato significa che un agente può scoprire e connettersi automaticamente al tuo servizio.

  • OAuth Protected Resource RFC 9728
    /.well-known/oauth-protected-resource
  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card SEP-1649 draft
    /.well-known/mcp/server-card.json
  • A2A Agent Card A2A v1.0
    /.well-known/agent-card.json
  • API Catalog RFC 9727
    /.well-known/api-catalog
  • Agent Skills index Discovery RFC v0.2.0 draft
    /.well-known/agent-skills/index.json

Non resta fermo da solo. Il monitoraggio non esiste ancora: iscriviti e ti avvisiamo quando c'è.

Sei nella lista! Ti avviseremo quando sarà disponibile.

Cosa abbiamo misurato No Content-Signal found (robots.txt or HTTP headers)

Nessuna direttiva Content-Signal trovata. Queste indicano agli agenti IA come possono usare i tuoi contenuti (indicizzazione, input IA, dati di addestramento). La posizione consigliata è robots.txt.

Come implementare

Aggiungi Content-Signal al tuo robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Puoi anche aggiungerlo come header HTTP nelle risposte markdown.

Incollalo in un agente di codice per applicare la correzione

Cosa abbiamo misurato 22 semantic elements, 138 divs (ratio: 14%)

La tua pagina si basa molto sugli elementi <div>. Elementi semantici come <section>, <nav>, <header>, <footer> e <aside> forniscono una struttura significativa per gli agenti IA.

Come implementare

Sostituisci i contenitori <div> generici con elementi semantici appropriati. Usa <section> per gruppi tematici, <nav> per la navigazione, <header>/<footer> per intestazioni e piè di pagina.

Incollalo in un agente di codice per applicare la correzione
Token Markdown: 1738
Transactional email infrastructure

## Transactional email infrastructure for SaaS products and platforms.

Send product email from your own domains—or organize customer-owned domains and senders under one account—with a focused REST API, explicit DNS readiness, durable queues, retries, and delivery history.

Controlled onboarding · Critical, transactional, and approved permission-based traffic.

**POST** /v1/emails202 Accepted

{
  "from": "[email protected]",
  "to": \["[email protected]"\],
  "type": "critical",
  "subject": "New sign-in detected",
  "content": { "plain": "Review this activity." }
}

em\_7kR4…queueddurably accepted

One infrastructure layer

## Two ways to build on Tenvio.

Use the same account-level model whether email belongs to your own product or to the businesses your platform serves.

01

### For your own product

Operate multiple product domains and sender identities for authentication, billing, security, and workflow notifications.

your appdomainssenders

02

### For your platform

Provision customer-owned domains and senders programmatically with scoped Management API credentials and stable external IDs.

your platformcustomer domainssenders

The SMTP problem

## A successful API call is only the start.

Transactional mail crosses DNS, queues, retries, transport policy, and recipient infrastructure. Treating that path as a black box leaves product teams guessing when users are waiting.

**Before**Request accepted?

**With Tenvio**queuedsendingaccepted

Explicit state, SMTP outcomes, safe diagnostics, and timestamps—without claiming inbox placement.

Domains are first-class

## One account. Multiple sending identities.

Add domains independently, follow the exact DNS records each one needs, and attach multiple senders to the right domain. A sender’s effective state follows its own configuration and its domain’s readiness.

-   2 domains on the Free plan
-   3 senders per account
-   Up to 3 senders per domain
-   Independent domain and sender state

DOMAINS**2 of 2 used**

A

**acme.app**3 senders · checked 2 min ago

Ready

C

**customer.example**1 sender · DNS action required

Verifying

DNS READINESS · CUSTOMER.EXAMPLE**2 of 3 checks passing**

Ownership`_tenvio-verification`**Passed**

DKIM`tenvio1._domainkey`**Pending**

DMARC`_dmarc`**Passed**

ACCOUNT**Your SaaS platform**shared quota + scoped keys

DOMAIN**customer-a.com**ready

billing@alerts@

DOMAIN**customer-b.io**verifying

notifications@

For platforms

## A resource model built beyond one domain.

The multi-domain, multi-sender foundation is live. It can represent domains your company owns or domains your customers own without legacy single-domain branches.

Management API**Live · controlled onboarding**

Create separate `mg_live_` keys with exact scopes for account and usage reads, plus domain and sender operations. DNS actions use the domain scopes. Sending remains isolated behind `tv_live_` keys.

[Read the Management API guide](https://docs.tenvio.email/management/)

Direct delivery

## Your application to the recipient MX.

Tenvio operates the delivery path instead of forwarding sends to another email API provider.

01**Your application**Authenticated API request

02**Tenvio queue**Durable intake + idempotency

03**Delivery engine**Policy + retries

04**Recipient MX**SMTP outcome

A deliberate boundary

## Product email with explicit consent.

Critical and transactional messages are available to every plan. Permission-based broadcast requires a paid Custom plan and separate manual approval.

### Available

-   Verification and authentication
-   Security and account alerts
-   Receipts and order updates
-   Approved permission-based broadcast

### Prohibited

-   Cold outreach
-   Purchased recipient lists
-   Traffic without documented consent

Delivery lifecycle

## Every state means something precise.

**queued**

Durably accepted for delivery.

**sending**

An attempt is in progress.

**deferred**

A temporary failure will retry.

**accepted**

The recipient SMTP server accepted it.

**bounced**

The recipient server rejected it permanently.

**failed**

Delivery ended without acceptance.

Accepted does not guarantee inbox placement. The receiving system controls filtering and final presentation.

Developer API

## One explicit send contract.

Create an API key, keep it server-side, and send through the live REST endpoint. Every logical email requires an idempotency key so retries do not create duplicate messages.

**POST**Enqueue an email

**GET**List email history

**GET**Inspect email detail

[Read the complete API reference](https://docs.tenvio.email/)

Send a transactional email

```
curl -X POST https://api.tenvio.email/v1/emails \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 7f4d9b98-63a8-4c43-a958-41d641fe2fd2" \
  -d '{
    "from": "[email protected]",
    "to": ["[email protected]"],
    "cc": [],
    "bcc": [],
    "type": "transactional",
    "subject": "Your account is ready",
    "content": { "plain": "You can now sign in." }
  }'
```

Scale with guardrails

## Clear limits. Account-level control.

Free includes exact recipient-email quotas and safety limits. Purchased Custom capacity remains subject to abuse, reputation, and infrastructure safety restrictions.

**2**domains

**3**senders

**3**senders / domain

**3,000**recipient-emails / monthly cycle

**250**active delivery jobs

Also enforced on Free: 30 recipient-emails per rolling minute, 300 per hour, and 300 per rolling 24 hours.

Pricing v1

## Free and Custom.

Exact USD monthly pricing. Taxes may be additional where applicable.

FREE

### $0 / month

Critical and transactional REST API email: 3,000 recipient-emails per monthly cycle, 2 domains, 3 senders total and per domain, one sending key, 250 active deliveries, and 14-day history. Broadcast is disabled.

CUSTOM

### From $10 / month

Choose 10,000 to 2,500,000 recipient-emails and capacity for up to 10–1,000 managed domains. Hard Cap is the only exhaustion mode. Permission-based broadcast requires separate manual approval.

[Build and review exact pricing](https://docs.tenvio.email/plans/)

Controlled onboarding

## A focused product email surface.

### Available

-   Critical and transactional REST Email API
-   Multiple domains and senders
-   BCC input with address-private history
-   Approved Custom permission-based broadcast
-   Free and Custom Hard Cap plans

### Policy boundary

-   Explicit recipient permission
-   Documented audience source
-   No cold outreach
-   No purchased lists

FAQ

## The infrastructure, without the ambiguity.

**What is Tenvio?**

Tenvio is product email infrastructure for critical, transactional, and separately approved permission-based broadcast traffic.

**Can one account use multiple domains and senders?**

Yes. The Free plan supports 2 domains and 3 senders across the account, with up to 3 senders on one domain.

**Does “accepted” mean delivered to the inbox?**

No. It means the recipient mail server accepted the message. The receiving system controls filtering and inbox placement.

**How is broadcast enabled?**

A paid Custom plan is necessary but not sufficient. Tenvio separately reviews permission and risk controls before an operator approves broadcast capability. Payment never grants approval.

**Can I use a purchased list or send cold outreach?**

No. Both are prohibited. Broadcast recipients require a documented permission basis and audience source.

Request access

## Tell us what your product needs to send.

Tenvio is onboarding SaaS products and platforms during controlled onboarding. Share your domain model, transactional use case, and expected volume.

**Keep secrets out of this form.**Do not include API keys, passwords, recipient lists, or message payloads.
Tenvio - Transactional Email API for SaaS Platforms         [Skip to content](https://tenvio.email/#main)

[![](https://tenvio.email/brand-mark.png)Tenvio](https://tenvio.email/)

Transactional email infrastructure# Transactional email infrastructure for SaaS products and platforms.

Send product email from your own domains—or organize customer-owned domains and senders under one account—with a focused REST API, explicit DNS readiness, durable queues, retries, and delivery history.

[Request access →](https://tenvio.email/?topic=access#request-access)[Read the docs](https://docs.tenvio.email/)

Controlled onboarding · Critical, transactional, and approved permission-based traffic.

Send API LivePlatform Controlled onboarding

**POST** /v1/emails202 Accepted

{
  "from": "[email protected]",
  "to": \["[email protected]"\],
  "type": "critical",
  "subject": "New sign-in detected",
  "content": { "plain": "Review this activity." }
}

em\_7kR4…queueddurably accepted

Platform resource model**Live · controlled onboarding**

A

ACCOUNT**Acme Platform**

DOMAIN · READY**acme.app**

security@billing@

DOMAIN · VERIFYING**customer-one.com**

notifications@

Automate domains, DNS readiness, senders, account details, and usage with separate scoped management keys.

One infrastructure layer## Two ways to build on Tenvio.

Use the same account-level model whether email belongs to your own product or to the businesses your platform serves.

01

### For your own product

Operate multiple product domains and sender identities for authentication, billing, security, and workflow notifications.

your appdomainssenders

02

### For your platform

Provision customer-owned domains and senders programmatically with scoped Management API credentials and stable external IDs.

your platformcustomer domainssenders

The SMTP problem## A successful API call is only the start.

Transactional mail crosses DNS, queues, retries, transport policy, and recipient infrastructure. Treating that path as a black box leaves product teams guessing when users are waiting.

**Before**Request accepted?

**With Tenvio**queuedsendingaccepted

Explicit state, SMTP outcomes, safe diagnostics, and timestamps—without claiming inbox placement.

Domains are first-class## One account. Multiple sending identities.

Add domains independently, follow the exact DNS records each one needs, and attach multiple senders to the right domain. A sender’s effective state follows its own configuration and its domain’s readiness.

-   2 domains on the Free plan
-   3 senders per account
-   Up to 3 senders per domain
-   Independent domain and sender state

DOMAINS**2 of 2 used**

Add domain

A

**acme.app**3 senders · checked 2 min ago

Ready

C

**customer.example**1 sender · DNS action required

Verifying

DNS READINESS · CUSTOMER.EXAMPLE**2 of 3 checks passing**

Ownership`_tenvio-verification`**Passed**

DKIM`tenvio1._domainkey`**Pending**

DMARC`_dmarc`**Passed**

ACCOUNT**Your SaaS platform**shared quota + scoped keys

DOMAIN**customer-a.com**ready

billing@alerts@

DOMAIN**customer-b.io**verifying

notifications@

For platforms## A resource model built beyond one domain.

The multi-domain, multi-sender foundation is live. It can represent domains your company owns or domains your customers own without legacy single-domain branches.

Management API**Live · controlled onboarding**

Create separate `mg_live_` keys with exact scopes for account and usage reads, plus domain and sender operations. DNS actions use the domain scopes. Sending remains isolated behind `tv_live_` keys.

[Read the Management API guide →](https://docs.tenvio.email/management/)

Direct delivery## Your application to the recipient MX.

Tenvio operates the delivery path instead of forwarding sends to another email API provider.

01**Your application**Authenticated API request

02**Tenvio queue**Durable intake + idempotency

03**Delivery engine**Policy + retries

04**Recipient MX**SMTP outcome

A deliberate boundary## Product email with explicit consent.

Critical and transactional messages are available to every plan. Permission-based broadcast requires a paid Custom plan and separate manual approval.

### Available

-   Verification and authentication
-   Security and account alerts
-   Receipts and order updates
-   Approved permission-based broadcast

### Prohibited

-   Cold outreach
-   Purchased recipient lists
-   Traffic without documented consent

Delivery lifecycle## Every state means something precise.

**queued**

Durably accepted for delivery.

**sending**

An attempt is in progress.

**deferred**

A temporary failure will retry.

**accepted**

The recipient SMTP server accepted it.

**bounced**

The recipient server rejected it permanently.

**failed**

Delivery ended without acceptance.

Accepted does not guarantee inbox placement. The receiving system controls filtering and final presentation.

Developer API## One explicit send contract.

Create an API key, keep it server-side, and send through the live REST endpoint. Every logical email requires an idempotency key so retries do not create duplicate messages.

**POST**Enqueue an email

**GET**List email history

**GET**Inspect email detail

[Read the complete API reference →](https://docs.tenvio.email/)

Send a transactional emailCopy

```
curl -X POST https://api.tenvio.email/v1/emails \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 7f4d9b98-63a8-4c43-a958-41d641fe2fd2" \
  -d '{
    "from": "[email protected]",
    "to": ["[email protected]"],
    "cc": [],
    "bcc": [],
    "type": "transactional",
    "subject": "Your account is ready",
    "content": { "plain": "You can now sign in." }
  }'
```

Scale with guardrails## Clear limits. Account-level control.

Free includes exact recipient-email quotas and safety limits. Purchased Custom capacity remains subject to abuse, reputation, and infrastructure safety restrictions.

**2**domains

**3**senders

**3**senders / domain

**3,000**recipient-emails / monthly cycle

**250**active delivery jobs

Also enforced on Free: 30 recipient-emails per rolling minute, 300 per hour, and 300 per rolling 24 hours.

Pricing v1## Free and Custom.

Exact USD monthly pricing. Taxes may be additional where applicable.

FREE

### $0 / month

Critical and transactional REST API email: 3,000 recipient-emails per monthly cycle, 2 domains, 3 senders total and per domain, one sending key, 250 active deliveries, and 14-day history. Broadcast is disabled.

CUSTOM

### From $10 / month

Choose 10,000 to 2,500,000 recipient-emails and capacity for up to 10–1,000 managed domains. Hard Cap is the only exhaustion mode. Permission-based broadcast requires separate manual approval.

[Build and review exact pricing →](https://docs.tenvio.email/plans/)

Controlled onboarding## A focused product email surface.

### Available

-   Critical and transactional REST Email API
-   Multiple domains and senders
-   BCC input with address-private history
-   Approved Custom permission-based broadcast
-   Free and Custom Hard Cap plans

### Policy boundary

-   Explicit recipient permission
-   Documented audience source
-   No cold outreach
-   No purchased lists

FAQ## The infrastructure, without the ambiguity.

**What is Tenvio?**

Tenvio is product email infrastructure for critical, transactional, and separately approved permission-based broadcast traffic.

**Can one account use multiple domains and senders?**

Yes. The Free plan supports 2 domains and 3 senders across the account, with up to 3 senders on one domain.

**Does “accepted” mean delivered to the inbox?**

No. It means the recipient mail server accepted the message. The receiving system controls filtering and inbox placement.

**How is broadcast enabled?**

A paid Custom plan is necessary but not sufficient. Tenvio separately reviews permission and risk controls before an operator approves broadcast capability. Payment never grants approval.

**Can I use a purchased list or send cold outreach?**

No. Both are prohibited. Broadcast recipients require a documented permission basis and audience source.

Request access## Tell us what your product needs to send.

Tenvio is onboarding SaaS products and platforms during controlled onboarding. Share your domain model, transactional use case, and expected volume.

**Keep secrets out of this form.**Do not include API keys, passwords, recipient lists, or message payloads.

Name

Work email

Company or product

Website

Use caseSelect oneEmail for our own productEmail for a SaaS platformBothReport abuseSomething else

Monthly volume OptionalNot sure yetUnder 10,00010,000–100,000100,000–1 millionMore than 1 million

What are you building?Describe the transactional messages and how domains belong to your product or customers.

Leave this field empty

Send request →

Carica questo file come /index.md sul tuo server affinché gli agenti IA possano accedere a una versione pulita della tua pagina. Puoi anche configurare la negoziazione dei contenuti Accept: text/markdown per servirlo automaticamente.

La nostra raccomandazione

Scarica llms.txt
# Tenvio

> Transactional email infrastructure for SaaS products and platforms, with multiple domains, multiple senders, DNS readiness, queues, retries, and delivery telemetry.

## Main
- [Tenvio - Transactional Email API for SaaS Platforms](https://tenvio.email): Transactional email infrastructure for SaaS products and platforms, with multiple domains, multiple senders, DNS readin…
- [Tenvio](https://tenvio.email/)
- [Request access](https://tenvio.email/?topic=access)
- [Acceptable Use](https://tenvio.email/acceptable-use.html)
- [Report abuse](https://tenvio.email/abuse.html)

## Legal
- [Privacy](https://tenvio.email/privacy.html)
- [Terms](https://tenvio.email/terms.html)

Il llms.txt completo richiede un'analisi dell'intero dominio (prossimamente)

Carica questo file come https://tenvio.email/llms.txt nella radice del tuo dominio. Agenti IA come ChatGPT, Claude e Perplexity controllano questo file per comprendere la struttura del tuo sito.

Questo sito ha già un file llms.txt.

Formato valido
# Tenvio

> Tenvio is server-side email infrastructure for applications that send critical and transactional product email through a REST API, with multi-domain account management.

The canonical technical source is docs.tenvio.email. Prefer its OpenAPI contract for exact request and response schemas.

## Product

- [Product overview](https://tenvio.email/index.md)
- [Acceptable use](https://tenvio.email/acceptable-use.md)
- [Privacy](https://tenvio.email/privacy.md)
- [Terms](https://tenvio.email/terms.md)
- [Abuse](https://tenvio.email/abuse.md)

## Developer resources

- [AI-readable documentation index](https://docs.tenvio.email/llms.txt)
- [Full technical documentation](https://docs.tenvio.email/llms-full.txt)
- [Getting started](https://docs.tenvio.email/getting-started/index.md)
- [Sending API](https://docs.tenvio.email/sending/index.md)
- [Plans and limits](https://docs.tenvio.email/plans/index.md)
- [OpenAPI YAML](https://docs.tenvio.email/openapi.yaml)
- [OpenAPI JSON](https://docs.tenvio.email/openapi.json)

## Complete product context

- [Full product context](https://tenvio.email/llms-full.txt)

Accessibilità

Contenuto disponibile senza JavaScript (100/100)

Content available without JavaScript

Il contenuto appare presto nell'HTML (100/100)

Main content starts at 18% of HTML

Dimensione della pagina ragionevole (100/100)

Page size: 26KB

Scopribilità IA

robots.txt consente bot IA (100/100)

All major AI search bots allowed

Supporto Markdown for Agents (60/100) Application
✗ Accept: text/markdown ✓ .md URL ✓ <link> tag ✗ Link header

Individuabile, ma senza negoziazione: un agente che legge il tuo HTML trova la versione .md; uno che chiede la pagina direttamente riceve ancora HTML. Rispondere ad Accept: text/markdown copre entrambi i casi.

Ha sitemap.xml (100/100)

Sitemap found

Ha file robots.txt (100/100)

robots.txt exists

Ha file llms.txt (100/100)

llms.txt exists and is valid

Ha Content-Signal (robots.txt o header HTTP) (0/100)
✓ robots.txt ✓ HTTP header ✗ Policy

Dati Strutturati

Ha Schema.org / JSON-LD (100/100)

JSON-LD found: Organization, WebSite, SoftwareApplication, FAQPage

Ha tag Open Graph (100/100)

All OG tags present

Ha meta descrizione (100/100)

Meta description: 164 chars

Ha URL canonico (100/100)

Canonical URL present

Ha attributo lang (100/100)

lang="en"

HTML Semantico

Gerarchia di intestazioni corretta (100/100)

Clean heading hierarchy

Utilizza elemento article o main (100/100)

Has both <article> and <main>

Utilizza elementi HTML semantici (46/100)

22 semantic elements, 138 divs (ratio: 14%)

Testi alt delle immagini significativi (100/100)

No informative images (2 decorative)

Bassa profondità di annidamento div (100/100)

Avg div depth: 1.9, max: 6

Efficienza dei contenuti

Buon rapporto di riduzione token (80/100)

74% token reduction (HTML→Markdown)

Buon rapporto contenuto-rumore (80/100)

Content ratio: 27.8% (7264 content chars / 26149 HTML bytes)

Peso della pagina ragionevole (100/100)

HTML size: 26KB

Stili inline minimi (100/100)

0/518 elements with inline styles (0.0%)

{
  "url": "https://tenvio.email",
  "timestamp": 1790281198378,
  "fetch": {
    "mode": "simple",
    "timeMs": 323,
    "htmlSizeBytes": 26149,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": true,
        "url": "https://tenvio.email/index.md"
      },
      "linkTag": {
        "found": true,
        "url": "/index.md"
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "application",
      "mdUrlMediaType": "text/markdown",
      "mdUrlProperMediaType": true
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Tenvio - Transactional Email API for SaaS Platforms",
    "excerpt": "One account model for your domains, your customers’ domains, and every transactional sender.",
    "byline": null,
    "siteName": "Tenvio",
    "lang": "en",
    "contentLength": 7264,
    "metadata": {
      "description": "Transactional email infrastructure for SaaS products and platforms, with multiple domains, multiple senders, DNS readiness, queues, retries, and delivery telemetry.",
      "ogTitle": "Tenvio - Transactional Email API for SaaS Platforms",
      "ogDescription": "One account model for your domains, your customers’ domains, and every transactional sender.",
      "ogImage": "https://tenvio.email/og-tenvio-platform.png",
      "ogType": "website",
      "canonical": "https://tenvio.email/",
      "lang": "en",
      "schemas": [
        {
          "@type": "Organization",
          "@id": "https://tenvio.email/#organization",
          "name": "Tenvio",
          "url": "https://tenvio.email/",
          "logo": "https://tenvio.email/android-chrome-512x512.png"
        },
        {
          "@type": "WebSite",
          "@id": "https://tenvio.email/#website",
          "url": "https://tenvio.email/",
          "name": "Tenvio",
          "publisher": {
            "@id": "https://tenvio.email/#organization"
          }
        },
        {
          "@type": "SoftwareApplication",
          "@id": "https://tenvio.email/#software",
          "name": "Tenvio",
          "applicationCategory": "DeveloperApplication",
          "operatingSystem": "Web",
          "url": "https://tenvio.email/",
          "description": "Critical, transactional, and approved permission-based broadcast email infrastructure with durable queues and delivery history.",
          "featureList": [
            "REST Email API",
            "Asynchronous Broadcast API for approved Custom accounts",
            "Multiple authenticated domains",
            "Multiple sender identities",
            "Queue and retry handling",
            "Delivery history"
          ],
          "publisher": {
            "@id": "https://tenvio.email/#organization"
          }
        },
        {
          "@type": "FAQPage",
          "@id": "https://tenvio.email/#faq-schema",
          "mainEntity": [
            {
              "@type": "Question",
              "name": "What traffic is available?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "Critical and transactional email are available. Permission-based broadcast requires Custom and separate manual approval."
              }
            },
            {
              "@type": "Question",
              "name": "Does accepted mean inbox delivery?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "No. Accepted means the recipient mail server accepted the message. The receiving system controls filtering and inbox placement."
              }
            },
            {
              "@type": "Question",
              "name": "Can I use purchased lists or send cold outreach?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "No. Both are prohibited."
              }
            }
          ]
        }
      ],
      "robotsMeta": "index, follow",
      "author": null,
      "generator": null,
      "markdownAlternateHref": "/index.md"
    }
  },
  "markdown": "Transactional email infrastructure\n\n## Transactional email infrastructure for SaaS products and platforms.\n\nSend product email from your own domains—or organize customer-owned domains and senders under one account—with a focused REST API, explicit DNS readiness, durable queues, retries, and delivery history.\n\nControlled onboarding · Critical, transactional, and approved permission-based traffic.\n\n**POST** /v1/emails202 Accepted\n\n{\n  \"from\": \"[email protected]\",\n  \"to\": \\[\"[email protected]\"\\],\n  \"type\": \"critical\",\n  \"subject\": \"New sign-in detected\",\n  \"content\": { \"plain\": \"Review this activity.\" }\n}\n\nem\\_7kR4…queueddurably accepted\n\nOne infrastructure layer\n\n## Two ways to build on Tenvio.\n\nUse the same account-level model whether email belongs to your own product or to the businesses your platform serves.\n\n01\n\n### For your own product\n\nOperate multiple product domains and sender identities for authentication, billing, security, and workflow notifications.\n\nyour appdomainssenders\n\n02\n\n### For your platform\n\nProvision customer-owned domains and senders programmatically with scoped Management API credentials and stable external IDs.\n\nyour platformcustomer domainssenders\n\nThe SMTP problem\n\n## A successful API call is only the start.\n\nTransactional mail crosses DNS, queues, retries, transport policy, and recipient infrastructure. Treating that path as a black box leaves product teams guessing when users are waiting.\n\n**Before**Request accepted?\n\n**With Tenvio**queuedsendingaccepted\n\nExplicit state, SMTP outcomes, safe diagnostics, and timestamps—without claiming inbox placement.\n\nDomains are first-class\n\n## One account. Multiple sending identities.\n\nAdd domains independently, follow the exact DNS records each one needs, and attach multiple senders to the right domain. A sender’s effective state follows its own configuration and its domain’s readiness.\n\n-   2 domains on the Free plan\n-   3 senders per account\n-   Up to 3 senders per domain\n-   Independent domain and sender state\n\nDOMAINS**2 of 2 used**\n\nA\n\n**acme.app**3 senders · checked 2 min ago\n\nReady\n\nC\n\n**customer.example**1 sender · DNS action required\n\nVerifying\n\nDNS READINESS · CUSTOMER.EXAMPLE**2 of 3 checks passing**\n\nOwnership`_tenvio-verification`**Passed**\n\nDKIM`tenvio1._domainkey`**Pending**\n\nDMARC`_dmarc`**Passed**\n\nACCOUNT**Your SaaS platform**shared quota + scoped keys\n\nDOMAIN**customer-a.com**ready\n\nbilling@alerts@\n\nDOMAIN**customer-b.io**verifying\n\nnotifications@\n\nFor platforms\n\n## A resource model built beyond one domain.\n\nThe multi-domain, multi-sender foundation is live. It can represent domains your company owns or domains your customers own without legacy single-domain branches.\n\nManagement API**Live · controlled onboarding**\n\nCreate separate `mg_live_` keys with exact scopes for account and usage reads, plus domain and sender operations. DNS actions use the domain scopes. Sending remains isolated behind `tv_live_` keys.\n\n[Read the Management API guide](https://docs.tenvio.email/management/)\n\nDirect delivery\n\n## Your application to the recipient MX.\n\nTenvio operates the delivery path instead of forwarding sends to another email API provider.\n\n01**Your application**Authenticated API request\n\n02**Tenvio queue**Durable intake + idempotency\n\n03**Delivery engine**Policy + retries\n\n04**Recipient MX**SMTP outcome\n\nA deliberate boundary\n\n## Product email with explicit consent.\n\nCritical and transactional messages are available to every plan. Permission-based broadcast requires a paid Custom plan and separate manual approval.\n\n### Available\n\n-   Verification and authentication\n-   Security and account alerts\n-   Receipts and order updates\n-   Approved permission-based broadcast\n\n### Prohibited\n\n-   Cold outreach\n-   Purchased recipient lists\n-   Traffic without documented consent\n\nDelivery lifecycle\n\n## Every state means something precise.\n\n**queued**\n\nDurably accepted for delivery.\n\n**sending**\n\nAn attempt is in progress.\n\n**deferred**\n\nA temporary failure will retry.\n\n**accepted**\n\nThe recipient SMTP server accepted it.\n\n**bounced**\n\nThe recipient server rejected it permanently.\n\n**failed**\n\nDelivery ended without acceptance.\n\nAccepted does not guarantee inbox placement. The receiving system controls filtering and final presentation.\n\nDeveloper API\n\n## One explicit send contract.\n\nCreate an API key, keep it server-side, and send through the live REST endpoint. Every logical email requires an idempotency key so retries do not create duplicate messages.\n\n**POST**Enqueue an email\n\n**GET**List email history\n\n**GET**Inspect email detail\n\n[Read the complete API reference](https://docs.tenvio.email/)\n\nSend a transactional email\n\n```\ncurl -X POST https://api.tenvio.email/v1/emails \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: 7f4d9b98-63a8-4c43-a958-41d641fe2fd2\" \\\n  -d '{\n    \"from\": \"[email protected]\",\n    \"to\": [\"[email protected]\"],\n    \"cc\": [],\n    \"bcc\": [],\n    \"type\": \"transactional\",\n    \"subject\": \"Your account is ready\",\n    \"content\": { \"plain\": \"You can now sign in.\" }\n  }'\n```\n\nScale with guardrails\n\n## Clear limits. Account-level control.\n\nFree includes exact recipient-email quotas and safety limits. Purchased Custom capacity remains subject to abuse, reputation, and infrastructure safety restrictions.\n\n**2**domains\n\n**3**senders\n\n**3**senders / domain\n\n**3,000**recipient-emails / monthly cycle\n\n**250**active delivery jobs\n\nAlso enforced on Free: 30 recipient-emails per rolling minute, 300 per hour, and 300 per rolling 24 hours.\n\nPricing v1\n\n## Free and Custom.\n\nExact USD monthly pricing. Taxes may be additional where applicable.\n\nFREE\n\n### $0 / month\n\nCritical and transactional REST API email: 3,000 recipient-emails per monthly cycle, 2 domains, 3 senders total and per domain, one sending key, 250 active deliveries, and 14-day history. Broadcast is disabled.\n\nCUSTOM\n\n### From $10 / month\n\nChoose 10,000 to 2,500,000 recipient-emails and capacity for up to 10–1,000 managed domains. Hard Cap is the only exhaustion mode. Permission-based broadcast requires separate manual approval.\n\n[Build and review exact pricing](https://docs.tenvio.email/plans/)\n\nControlled onboarding\n\n## A focused product email surface.\n\n### Available\n\n-   Critical and transactional REST Email API\n-   Multiple domains and senders\n-   BCC input with address-private history\n-   Approved Custom permission-based broadcast\n-   Free and Custom Hard Cap plans\n\n### Policy boundary\n\n-   Explicit recipient permission\n-   Documented audience source\n-   No cold outreach\n-   No purchased lists\n\nFAQ\n\n## The infrastructure, without the ambiguity.\n\n**What is Tenvio?**\n\nTenvio is product email infrastructure for critical, transactional, and separately approved permission-based broadcast traffic.\n\n**Can one account use multiple domains and senders?**\n\nYes. The Free plan supports 2 domains and 3 senders across the account, with up to 3 senders on one domain.\n\n**Does “accepted” mean delivered to the inbox?**\n\nNo. It means the recipient mail server accepted the message. The receiving system controls filtering and inbox placement.\n\n**How is broadcast enabled?**\n\nA paid Custom plan is necessary but not sufficient. Tenvio separately reviews permission and risk controls before an operator approves broadcast capability. Payment never grants approval.\n\n**Can I use a purchased list or send cold outreach?**\n\nNo. Both are prohibited. Broadcast recipients require a documented permission basis and audience source.\n\nRequest access\n\n## Tell us what your product needs to send.\n\nTenvio is onboarding SaaS products and platforms during controlled onboarding. Share your domain model, transactional use case, and expected volume.\n\n**Keep secrets out of this form.**Do not include API keys, passwords, recipient lists, or message payloads.\n",
  "fullPageMarkdown": "Tenvio - Transactional Email API for SaaS Platforms         [Skip to content](https://tenvio.email/#main)\n\n[![](https://tenvio.email/brand-mark.png)Tenvio](https://tenvio.email/)\n\nTransactional email infrastructure# Transactional email infrastructure for SaaS products and platforms.\n\nSend product email from your own domains—or organize customer-owned domains and senders under one account—with a focused REST API, explicit DNS readiness, durable queues, retries, and delivery history.\n\n[Request access →](https://tenvio.email/?topic=access#request-access)[Read the docs](https://docs.tenvio.email/)\n\nControlled onboarding · Critical, transactional, and approved permission-based traffic.\n\nSend API LivePlatform Controlled onboarding\n\n**POST** /v1/emails202 Accepted\n\n{\n  \"from\": \"[email protected]\",\n  \"to\": \\[\"[email protected]\"\\],\n  \"type\": \"critical\",\n  \"subject\": \"New sign-in detected\",\n  \"content\": { \"plain\": \"Review this activity.\" }\n}\n\nem\\_7kR4…queueddurably accepted\n\nPlatform resource model**Live · controlled onboarding**\n\nA\n\nACCOUNT**Acme Platform**\n\nDOMAIN · READY**acme.app**\n\nsecurity@billing@\n\nDOMAIN · VERIFYING**customer-one.com**\n\nnotifications@\n\nAutomate domains, DNS readiness, senders, account details, and usage with separate scoped management keys.\n\nOne infrastructure layer## Two ways to build on Tenvio.\n\nUse the same account-level model whether email belongs to your own product or to the businesses your platform serves.\n\n01\n\n### For your own product\n\nOperate multiple product domains and sender identities for authentication, billing, security, and workflow notifications.\n\nyour appdomainssenders\n\n02\n\n### For your platform\n\nProvision customer-owned domains and senders programmatically with scoped Management API credentials and stable external IDs.\n\nyour platformcustomer domainssenders\n\nThe SMTP problem## A successful API call is only the start.\n\nTransactional mail crosses DNS, queues, retries, transport policy, and recipient infrastructure. Treating that path as a black box leaves product teams guessing when users are waiting.\n\n**Before**Request accepted?\n\n**With Tenvio**queuedsendingaccepted\n\nExplicit state, SMTP outcomes, safe diagnostics, and timestamps—without claiming inbox placement.\n\nDomains are first-class## One account. Multiple sending identities.\n\nAdd domains independently, follow the exact DNS records each one needs, and attach multiple senders to the right domain. A sender’s effective state follows its own configuration and its domain’s readiness.\n\n-   2 domains on the Free plan\n-   3 senders per account\n-   Up to 3 senders per domain\n-   Independent domain and sender state\n\nDOMAINS**2 of 2 used**\n\nAdd domain\n\nA\n\n**acme.app**3 senders · checked 2 min ago\n\nReady\n\nC\n\n**customer.example**1 sender · DNS action required\n\nVerifying\n\nDNS READINESS · CUSTOMER.EXAMPLE**2 of 3 checks passing**\n\nOwnership`_tenvio-verification`**Passed**\n\nDKIM`tenvio1._domainkey`**Pending**\n\nDMARC`_dmarc`**Passed**\n\nACCOUNT**Your SaaS platform**shared quota + scoped keys\n\nDOMAIN**customer-a.com**ready\n\nbilling@alerts@\n\nDOMAIN**customer-b.io**verifying\n\nnotifications@\n\nFor platforms## A resource model built beyond one domain.\n\nThe multi-domain, multi-sender foundation is live. It can represent domains your company owns or domains your customers own without legacy single-domain branches.\n\nManagement API**Live · controlled onboarding**\n\nCreate separate `mg_live_` keys with exact scopes for account and usage reads, plus domain and sender operations. DNS actions use the domain scopes. Sending remains isolated behind `tv_live_` keys.\n\n[Read the Management API guide →](https://docs.tenvio.email/management/)\n\nDirect delivery## Your application to the recipient MX.\n\nTenvio operates the delivery path instead of forwarding sends to another email API provider.\n\n01**Your application**Authenticated API request\n\n02**Tenvio queue**Durable intake + idempotency\n\n03**Delivery engine**Policy + retries\n\n04**Recipient MX**SMTP outcome\n\nA deliberate boundary## Product email with explicit consent.\n\nCritical and transactional messages are available to every plan. Permission-based broadcast requires a paid Custom plan and separate manual approval.\n\n### Available\n\n-   Verification and authentication\n-   Security and account alerts\n-   Receipts and order updates\n-   Approved permission-based broadcast\n\n### Prohibited\n\n-   Cold outreach\n-   Purchased recipient lists\n-   Traffic without documented consent\n\nDelivery lifecycle## Every state means something precise.\n\n**queued**\n\nDurably accepted for delivery.\n\n**sending**\n\nAn attempt is in progress.\n\n**deferred**\n\nA temporary failure will retry.\n\n**accepted**\n\nThe recipient SMTP server accepted it.\n\n**bounced**\n\nThe recipient server rejected it permanently.\n\n**failed**\n\nDelivery ended without acceptance.\n\nAccepted does not guarantee inbox placement. The receiving system controls filtering and final presentation.\n\nDeveloper API## One explicit send contract.\n\nCreate an API key, keep it server-side, and send through the live REST endpoint. Every logical email requires an idempotency key so retries do not create duplicate messages.\n\n**POST**Enqueue an email\n\n**GET**List email history\n\n**GET**Inspect email detail\n\n[Read the complete API reference →](https://docs.tenvio.email/)\n\nSend a transactional emailCopy\n\n```\ncurl -X POST https://api.tenvio.email/v1/emails \\\n  -H \"Authorization: Bearer YOUR_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Idempotency-Key: 7f4d9b98-63a8-4c43-a958-41d641fe2fd2\" \\\n  -d '{\n    \"from\": \"[email protected]\",\n    \"to\": [\"[email protected]\"],\n    \"cc\": [],\n    \"bcc\": [],\n    \"type\": \"transactional\",\n    \"subject\": \"Your account is ready\",\n    \"content\": { \"plain\": \"You can now sign in.\" }\n  }'\n```\n\nScale with guardrails## Clear limits. Account-level control.\n\nFree includes exact recipient-email quotas and safety limits. Purchased Custom capacity remains subject to abuse, reputation, and infrastructure safety restrictions.\n\n**2**domains\n\n**3**senders\n\n**3**senders / domain\n\n**3,000**recipient-emails / monthly cycle\n\n**250**active delivery jobs\n\nAlso enforced on Free: 30 recipient-emails per rolling minute, 300 per hour, and 300 per rolling 24 hours.\n\nPricing v1## Free and Custom.\n\nExact USD monthly pricing. Taxes may be additional where applicable.\n\nFREE\n\n### $0 / month\n\nCritical and transactional REST API email: 3,000 recipient-emails per monthly cycle, 2 domains, 3 senders total and per domain, one sending key, 250 active deliveries, and 14-day history. Broadcast is disabled.\n\nCUSTOM\n\n### From $10 / month\n\nChoose 10,000 to 2,500,000 recipient-emails and capacity for up to 10–1,000 managed domains. Hard Cap is the only exhaustion mode. Permission-based broadcast requires separate manual approval.\n\n[Build and review exact pricing →](https://docs.tenvio.email/plans/)\n\nControlled onboarding## A focused product email surface.\n\n### Available\n\n-   Critical and transactional REST Email API\n-   Multiple domains and senders\n-   BCC input with address-private history\n-   Approved Custom permission-based broadcast\n-   Free and Custom Hard Cap plans\n\n### Policy boundary\n\n-   Explicit recipient permission\n-   Documented audience source\n-   No cold outreach\n-   No purchased lists\n\nFAQ## The infrastructure, without the ambiguity.\n\n**What is Tenvio?**\n\nTenvio is product email infrastructure for critical, transactional, and separately approved permission-based broadcast traffic.\n\n**Can one account use multiple domains and senders?**\n\nYes. The Free plan supports 2 domains and 3 senders across the account, with up to 3 senders on one domain.\n\n**Does “accepted” mean delivered to the inbox?**\n\nNo. It means the recipient mail server accepted the message. The receiving system controls filtering and inbox placement.\n\n**How is broadcast enabled?**\n\nA paid Custom plan is necessary but not sufficient. Tenvio separately reviews permission and risk controls before an operator approves broadcast capability. Payment never grants approval.\n\n**Can I use a purchased list or send cold outreach?**\n\nNo. Both are prohibited. Broadcast recipients require a documented permission basis and audience source.\n\nRequest access## Tell us what your product needs to send.\n\nTenvio is onboarding SaaS products and platforms during controlled onboarding. Share your domain model, transactional use case, and expected volume.\n\n**Keep secrets out of this form.**Do not include API keys, passwords, recipient lists, or message payloads.\n\nName\n\nWork email\n\nCompany or product\n\nWebsite\n\nUse caseSelect oneEmail for our own productEmail for a SaaS platformBothReport abuseSomething else\n\nMonthly volume OptionalNot sure yetUnder 10,00010,000–100,000100,000–1 millionMore than 1 million\n\nWhat are you building?Describe the transactional messages and how domains belong to your product or customers.\n\nLeave this field empty\n\nSend request →\n",
  "markdownStats": {
    "images": 0,
    "links": 3,
    "tables": 0,
    "codeBlocks": 1,
    "headings": 22
  },
  "tokens": {
    "htmlTokens": 6649,
    "markdownTokens": 1738,
    "reduction": 4911,
    "reductionPercent": 74
  },
  "score": {
    "score": 92,
    "grade": "A",
    "rubricVersion": 3,
    "dimensions": {
      "accessibility": {
        "score": 100,
        "weight": 30,
        "grade": "A",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 55,
            "evidence": "proven",
            "details": "Content available without JavaScript"
          },
          "fast_content_position": {
            "score": 100,
            "weight": 25,
            "evidence": "plausible",
            "details": "Main content starts at 18% of HTML"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Page size: 26KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 82,
        "weight": 25,
        "grade": "B",
        "checks": {
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "All major AI search bots allowed"
          },
          "supports_markdown_negotiation": {
            "score": 60,
            "weight": 20,
            "evidence": "plausible",
            "details": "Application level — .md URL (https://tenvio.email/index.md), <link> tag",
            "mechanisms": {
              "negotiation": false,
              "mdUrl": true,
              "linkTag": true,
              "linkHeader": false
            }
          },
          "has_sitemap": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Sitemap found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "robots.txt exists"
          },
          "has_llms_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "llms.txt exists and is valid"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 10,
            "evidence": "speculative",
            "details": "No Content-Signal found (robots.txt or HTTP headers)",
            "mechanisms": {
              "robotsTxt": false,
              "httpHeader": false,
              "policy": false
            }
          }
        }
      },
      "structuredData": {
        "score": 100,
        "weight": 20,
        "grade": "A",
        "checks": {
          "has_schema_org": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "JSON-LD found: Organization, WebSite, SoftwareApplication, FAQPage"
          },
          "has_open_graph": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "All OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Meta description: 164 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "lang=\"en\""
          }
        }
      },
      "semanticHtml": {
        "score": 89,
        "weight": 15,
        "grade": "B",
        "checks": {
          "proper_heading_hierarchy": {
            "score": 100,
            "weight": 30,
            "evidence": "plausible",
            "details": "Clean heading hierarchy"
          },
          "uses_article_or_main": {
            "score": 100,
            "weight": 25,
            "evidence": "plausible",
            "details": "Has both <article> and <main>"
          },
          "semantic_elements": {
            "score": 46,
            "weight": 20,
            "evidence": "plausible",
            "details": "22 semantic elements, 138 divs (ratio: 14%)"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "No informative images (2 decorative)"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "Avg div depth: 1.9, max: 6"
          }
        }
      },
      "contentEfficiency": {
        "score": 86,
        "weight": 10,
        "grade": "B",
        "checks": {
          "token_reduction_ratio": {
            "score": 80,
            "weight": 40,
            "evidence": "speculative",
            "details": "74% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 80,
            "weight": 30,
            "evidence": "speculative",
            "details": "Content ratio: 27.8% (7264 content chars / 26149 HTML bytes)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 20,
            "evidence": "speculative",
            "details": "HTML size: 26KB"
          },
          "minimal_inline_styles": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "0/518 elements with inline styles (0.0%)"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_content_signals",
      "priority": "high",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "howToStepKeys": null,
      "effort": "quick-win",
      "estimatedImpact": 2.5,
      "maxImpact": 2.5,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "add_semantic_elements",
      "priority": "medium",
      "category": "semanticHtml",
      "titleKey": "rec.add_semantic_elements.title",
      "descriptionKey": "rec.add_semantic_elements.description",
      "howToKey": "rec.add_semantic_elements.howto",
      "howToStepKeys": null,
      "effort": "moderate",
      "estimatedImpact": 1.6,
      "maxImpact": 3,
      "evidence": "plausible",
      "checkScore": 46,
      "checkDetails": "22 semantic elements, 138 divs (ratio: 14%)"
    }
  ],
  "llmsTxtPreview": "# Tenvio\n\n> Transactional email infrastructure for SaaS products and platforms, with multiple domains, multiple senders, DNS readiness, queues, retries, and delivery telemetry.\n\n## Main\n- [Tenvio - Transactional Email API for SaaS Platforms](https://tenvio.email): Transactional email infrastructure for SaaS products and platforms, with multiple domains, multiple senders, DNS readin…\n- [Tenvio](https://tenvio.email/)\n- [Request access](https://tenvio.email/?topic=access)\n- [Acceptable Use](https://tenvio.email/acceptable-use.html)\n- [Report abuse](https://tenvio.email/abuse.html)\n\n## Legal\n- [Privacy](https://tenvio.email/privacy.html)\n- [Terms](https://tenvio.email/terms.html)\n\n",
  "llmsTxtExisting": "# Tenvio\n\n> Tenvio is server-side email infrastructure for applications that send critical and transactional product email through a REST API, with multi-domain account management.\n\nThe canonical technical source is docs.tenvio.email. Prefer its OpenAPI contract for exact request and response schemas.\n\n## Product\n\n- [Product overview](https://tenvio.email/index.md)\n- [Acceptable use](https://tenvio.email/acceptable-use.md)\n- [Privacy](https://tenvio.email/privacy.md)\n- [Terms](https://tenvio.email/terms.md)\n- [Abuse](https://tenvio.email/abuse.md)\n\n## Developer resources\n\n- [AI-readable documentation index](https://docs.tenvio.email/llms.txt)\n- [Full technical documentation](https://docs.tenvio.email/llms-full.txt)\n- [Getting started](https://docs.tenvio.email/getting-started/index.md)\n- [Sending API](https://docs.tenvio.email/sending/index.md)\n- [Plans and limits](https://docs.tenvio.email/plans/index.md)\n- [OpenAPI YAML](https://docs.tenvio.email/openapi.yaml)\n- [OpenAPI JSON](https://docs.tenvio.email/openapi.json)\n\n## Complete product context\n\n- [Full product context](https://tenvio.email/llms-full.txt)",
  "emergingProtocols": {
    "oauthProtectedResource": {
      "exists": false,
      "url": "https://tenvio.email/.well-known/oauth-protected-resource"
    },
    "oauthDiscovery": {
      "exists": false,
      "url": "https://tenvio.email/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://tenvio.email/.well-known/mcp/server-card.json",
      "draft": true
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://tenvio.email/.well-known/agent-card.json"
    },
    "apiCatalog": {
      "exists": false,
      "url": "https://tenvio.email/.well-known/api-catalog"
    },
    "agentSkills": {
      "exists": false,
      "url": "https://tenvio.email/.well-known/agent-skills/index.json",
      "draft": true
    },
    "count": 0,
    "total": 6
  },
  "botAccess": {
    "probed": true,
    "bot": "OAI-SearchBot",
    "controlStatus": 200,
    "botStatus": 200,
    "discriminates": false,
    "refusedAsBot": false,
    "edge": null,
    "verifiable": false,
    "detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
  },
  "snippets": [
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
      "language": "txt",
      "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
      "filename": "/robots.txt",
      "stacks": [
        {
          "id": "robots",
          "label": "robots.txt",
          "language": "txt",
          "filename": "/robots.txt",
          "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
        },
        {
          "id": "nginx",
          "label": "Nginx",
          "language": "nginx",
          "filename": "server block",
          "code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
        },
        {
          "id": "apache",
          "label": "Apache",
          "language": "apache",
          "filename": ".htaccess",
          "code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n    header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n    return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "middleware.ts",
          "code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n  const res = NextResponse.next();\n  res.headers.set(\n    'Content-Signal',\n    'search=yes, ai-input=yes, ai-train=no'\n  );\n  return res;\n}\nexport const config = { matcher: '/:path*' };"
        },
        {
          "id": "cloudflare",
          "label": "Cloudflare Workers",
          "language": "javascript",
          "filename": "worker.js",
          "code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n  async fetch(request, env, ctx) {\n    const res = await fetch(request);\n    const newRes = new Response(res.body, res);\n    newRes.headers.set(\n      'Content-Signal',\n      'search=yes, ai-input=yes, ai-train=no'\n    );\n    return newRes;\n  },\n};"
        },
        {
          "id": "express",
          "label": "Express / Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Express\napp.use((req, res, next) => {\n  res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n  reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  done();\n});"
        }
      ]
    }
  ]
}

Usa la nostra API per ottenere questo programmaticamente (prossimamente)

Questo JSON è per uso interno — a differenza dei file Markdown e llms.txt, non è destinato ad essere caricato sul tuo sito. Salvalo come riferimento per monitorare il tuo punteggio nel tempo, condividilo con il tuo team di sviluppo o integralo nella tua pipeline CI/CD.

Condividi i tuoi risultati

Oppure chiedi a un'IA di aiutarti a migliorarlo

Vuoi un secondo parere?

Anche Cloudflare ha uno scanner gratuito, e pone una domanda diversa. Loro valutano ciò che il tuo sito pubblica perché gli agenti lo invochino: MCP server card, Agent Skills, cataloghi di API, record DNS. Noi valutiamo se un agente riesce a raggiungere i tuoi contenuti, leggerli e capirli. Un sito può andare bene in uno e male nell'altro, quindi aspettati due numeri diversi: sono risposte a due domande diverse, ed entrambe vale la pena conoscerle.

Analizza tenvio.email con Cloudflare

Incorpora il tuo badge

Aggiungi questo badge al tuo sito. Si aggiorna automaticamente quando cambia il tuo punteggio di prontezza IA.

AgentReady.md score for tenvio.email
Script Consigliato
<script src="https://agentready.md/badge.js" data-id="459f1d85-f40f-46e3-8b96-c867c5b15750" data-domain="tenvio.email"></script>
Markdown
[![AgentReady.md score for tenvio.email](https://agentready.md/badge/tenvio.email.svg)](https://agentready.md/it/r/tenvio.email)

Prossimamente: Analisi completa del dominio

Scansiona l'intero dominio, genera llms.txt e monitora il tuo punteggio di prontezza IA nel tempo. Iscriviti alla lista d'attesa.

Sei nella lista! Ti avviseremo quando sarà disponibile.