# SMTP relay

> Invia email da qualsiasi app, framework o dispositivo che parla SMTP. Dati di connessione, come compare in Emailit la posta inoltrata e in cosa SMTP differisce dall’API.

L’SMTP relay di Emailit accetta posta da qualsiasi cosa sappia inviare via SMTP, come un CMS, il mailer di un framework, uno strumento di monitoraggio o uno scanner, e la consegna attraverso la stessa pipeline dell’[API email](/it/docs/email-api/). Usalo quando cambiare le impostazioni SMTP è più semplice che scrivere codice per l’API.

## Quando usare SMTP

SMTP è la scelta giusta quando:

- Il tuo software supporta solo SMTP, come i plugin di WordPress, gli help desk e i dispositivi di rete.
- Stai passando da un altro provider e vuoi cambiare solo host e credenziali.
- Il tuo framework ha già un mailer SMTP, come Laravel, Django, Rails e Nodemailer.

Scegli l’API quando ti servono [template](/it/docs/templates/) con variabili, programmazione, metadati, chiavi di idempotenza o impostazioni di tracciamento per singola email. Per un confronto completo, vedi [API o SMTP](/it/docs/get-started/api-or-smtp/).

## Come funziona

1. La tua applicazione si collega a `smtp.emailit.com`, passa la connessione a TLS e accede con una chiave API.
2. Invia il mittente della busta, un comando destinatario per ogni destinatario e il messaggio.
3. Emailit controlla il workspace, i limiti di frequenza, la dimensione del messaggio e il dominio nell’header From, poi risponde `250 2.0.0 OK: queued as em_…`.
4. Ogni destinatario diventa un’email separata con il proprio ID `em_`. Emailit la firma con DKIM, esegue i controlli antispam, la consegna e ritenta gli errori temporanei, esattamente come per la posta inviata con l’API.

## Dati di connessione

| Impostazione | Valore |
| --- | --- |
| Host | `smtp.emailit.com` |
| Porta | `587` con STARTTLS. Anche `465` (TLS implicito), e `2525` o `2587` (STARTTLS) per le reti che bloccano la 587. |
| Nome utente | `emailit` |
| Password | Una [chiave API](/it/docs/developers/api-keys/), che inizia con `secret_` |
| Autenticazione | `PLAIN` o `LOGIN` |

La pagina di ogni chiave API in **Email API → API Keys** mostra gli stessi dati nel riquadro **SMTP Info**. [Impostazioni SMTP](/it/docs/smtp/settings/) descrive tutte le porte, le regole per l’indirizzo From e i limiti.

## Invia un messaggio di prova

**cURL**

```bash
cat > message.txt <<'EOF'
From: Acme <hello@acme.com>
To: ada@example.com
Subject: SMTP test from Acme

It works.
EOF

curl --url "smtp://smtp.emailit.com:587" --ssl-reqd --crlf \
  --user "emailit:$EMAILIT_API_KEY" \
  --mail-from hello@acme.com \
  --mail-rcpt ada@example.com \
  --upload-file message.txt -v
```

**Node.js**

```javascript
import nodemailer from 'nodemailer';

const transporter = nodemailer.createTransport({
  host: 'smtp.emailit.com',
  port: 587,
  secure: false, // STARTTLS on 587
  requireTLS: true,
  auth: { user: 'emailit', pass: process.env.EMAILIT_API_KEY },
});

const info = await transporter.sendMail({
  from: 'Acme <hello@acme.com>',
  to: 'ada@example.com',
  subject: 'SMTP test from Acme',
  text: 'It works.',
});

console.log(info.response); // 250 2.0.0 OK: queued as em_…
```

**Python**

```python
import os
import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "Acme <hello@acme.com>"
msg["To"] = "ada@example.com"
msg["Subject"] = "SMTP test from Acme"
msg.set_content("It works.")

with smtplib.SMTP("smtp.emailit.com", 587) as smtp:
    smtp.starttls()
    smtp.login("emailit", os.environ["EMAILIT_API_KEY"])
    smtp.send_message(msg)
```

**PHP**

```php
use PHPMailer\PHPMailer\PHPMailer;

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.emailit.com';
$mail->Port = 587;
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->SMTPAuth = true;
$mail->Username = 'emailit';
$mail->Password = getenv('EMAILIT_API_KEY');

$mail->setFrom('hello@acme.com', 'Acme');
$mail->addAddress('ada@example.com');
$mail->Subject = 'SMTP test from Acme';
$mail->Body = 'It works.';
$mail->send();
```

I nuovi workspace sono in modalità sandbox e possono inviare solo alle email degli account dei membri del workspace. [Richiedi l’accesso alla produzione](/it/docs/workspaces/production-access/) prima di inviare a chiunque altro.

## Come compare in Emailit la posta SMTP

- **Un’email per destinatario.** Un messaggio con tre destinatari crea tre email, ciascuna con il proprio ID `em_`, il proprio stato e i propri eventi.
- **ID nella risposta.** La risposta `250` dopo il messaggio elenca i nuovi ID, ad esempio `250 2.0.0 OK: queued as em_33VtK8mRq1xZp7LwN4cY2bHsDfa`. Sono gli stessi ID usati dall’API, dal pannello e dai webhook. Vedi [Header e risposte SMTP](/it/docs/smtp/headers/#the-250-reply).
- **Elenco delle email.** Le email compaiono in **Email API → Emails**. Filtra per **API key** per vedere la posta di una singola applicazione.
- **Log.** Ogni messaggio inviato compare in **Email API → Logs** con l’origine **SMTP** e il relativo codice di risposta, insieme ai rifiuti per limite di frequenza e agli accessi non riusciti. Vedi [Log delle richieste](/it/docs/logs/request-logs/).
- **Webhook.** La posta SMTP genera gli stessi eventi di consegna e di engagement della posta inviata con l’API, ma non `email.accepted`. Di solito il primo evento è `email.delivered`.

## Differenze tra SMTP e API email

| Funzione | API email | SMTP relay |
| --- | --- | --- |
| Template e variabili Temple | Sì | No. Il messaggio viene inviato così come l’hai costruito. |
| Invio programmato | Sì, con `scheduled_at` | No |
| Metadati | Sì, con `meta` | No |
| Tracciamento di aperture e clic | Impostazioni del dominio, o per singola email con `tracking` | Solo le impostazioni **Track loads** e **Track clicks** del dominio di invio |
| Chiavi di idempotenza | Sì | No |
| Evento `email.accepted` | Sì | No |
| Destinatari per messaggio | Fino a 50 ciascuno in `to`, `cc` e `bcc` | Nessun limite fisso |
| Quando vengono addebitati i crediti | Quando la richiesta viene accettata. Con crediti insufficienti la risposta è `402`. | Quando ogni email viene elaborata. Con crediti insufficienti l’email viene trattenuta. |
| Cosa conta il limite di frequenza | Ogni destinatario | Ogni transazione SMTP (un messaggio) |
| Dimensione massima del messaggio | 40 MB | 40 MB |

Emailit non legge gli header di controllo `X-Emailit-*` nei messaggi SMTP. Vedi [Header e risposte SMTP](/it/docs/smtp/headers/).

## Limiti

| Limite | Valore |
| --- | --- |
| Dimensione del messaggio | 40 MB |
| Velocità di invio (predefinita) | 2 messaggi al secondo e 5000 messaggi al giorno per workspace, condivisi con l’API |
| Azzeramento giornaliero | Mezzanotte UTC |
| Crediti | 1 per destinatario |

I workspace Pro e Business ricevono aumenti automatici dei limiti in base alla salute degli invii, e qualsiasi workspace può chiederne di più dal riquadro **Sending Limits** della home page del pannello. Vedi [Limiti e quote](/it/docs/limits/).

## Passaggi successivi

  - [Impostazioni SMTP](/it/docs/smtp/settings/): Porte, TLS, autenticazione, regole del From e limiti.
  - [Header e risposte](/it/docs/smtp/headers/): Cosa Emailit aggiunge, riscrive e rimuove.
  - [Risoluzione dei problemi](/it/docs/smtp/troubleshooting/): Ogni codice di risposta SMTP con la relativa soluzione.
  - [Avvio rapido con SMTP](/it/docs/quickstart/smtp/): Invia il primo messaggio passo dopo passo.

---
Fonte: https://emailit.com/it/docs/smtp/
