# SMTP relay

> Envie e-mails de qualquer aplicação, framework ou dispositivo que fale SMTP. Dados de conexão, como os e-mails enviados pelo relay aparecem no Emailit e como o SMTP difere da API.

O SMTP relay do Emailit aceita e-mails de qualquer coisa que consiga enviar por SMTP, como um CMS, o mailer de um framework, uma ferramenta de monitoramento ou um scanner, e os entrega pelo mesmo pipeline da [API de e-mail](/pt/docs/email-api/). Use-o quando for mais fácil alterar as configurações SMTP do que escrever código para a API.

## Quando usar o SMTP

O SMTP é uma boa escolha quando:

- O seu software só tem suporte a SMTP, como plugins do WordPress, help desks e dispositivos de rede.
- Você está vindo de outro provedor e quer trocar apenas o host e as credenciais.
- O seu framework já tem um mailer SMTP, como o Laravel, o Django, o Rails e o Nodemailer.

Escolha a API quando precisar de [templates](/pt/docs/templates/) com variáveis, agendamento, metadados, chaves de idempotência ou configurações de rastreamento por e-mail. Consulte [API ou SMTP?](/pt/docs/get-started/api-or-smtp/) para uma comparação completa.

## Como funciona

1. A sua aplicação se conecta a `smtp.emailit.com`, passa a conexão para TLS e faz login com uma chave de API.
2. Ela envia o remetente do envelope, um comando de destinatário por destinatário e a mensagem.
3. O Emailit verifica o workspace, os limites de envio, o tamanho da mensagem e o domínio do cabeçalho From, e então responde `250 2.0.0 OK: queued as em_…`.
4. Cada destinatário vira um e-mail separado, com o seu próprio ID `em_`. O Emailit o assina com DKIM, executa as verificações de spam, entrega-o e tenta de novo em caso de falhas temporárias, exatamente como faz com os e-mails da API.

## Dados de conexão

| Configuração | Valor |
| --- | --- |
| Host | `smtp.emailit.com` |
| Porta | `587` com STARTTLS. Também `465` (TLS implícito), e `2525` ou `2587` (STARTTLS) para redes que bloqueiam a 587. |
| Usuário | `emailit` |
| Senha | Uma [chave de API](/pt/docs/developers/api-keys/), começando com `secret_` |
| Autenticação | `PLAIN` ou `LOGIN` |

A página de cada chave de API em **Email API → API Keys** mostra os mesmos dados no card **SMTP Info**. [Configurações SMTP](/pt/docs/smtp/settings/) cobre todas as portas, as regras do endereço From e os limites.

## Enviar uma mensagem de teste

**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();
```

Os workspaces novos estão no modo sandbox e só podem enviar para os e-mails das contas dos membros do workspace. [Solicite o acesso de produção](/pt/docs/workspaces/production-access/) antes de enviar para qualquer outra pessoa.

## Como os e-mails enviados por SMTP aparecem no Emailit

- **Um e-mail por destinatário.** Uma mensagem com três destinatários cria três e-mails, cada um com o seu próprio ID `em_`, status e eventos.
- **IDs na resposta.** A resposta `250` depois da mensagem lista os novos IDs, por exemplo `250 2.0.0 OK: queued as em_33VtK8mRq1xZp7LwN4cY2bHsDfa`. São os mesmos IDs que a API, o painel e os webhooks usam. Consulte [Cabeçalhos e respostas SMTP](/pt/docs/smtp/headers/#the-250-reply).
- **Lista de e-mails.** Os e-mails aparecem em **Email API → Emails**. Filtre por **API key** para ver os e-mails de uma aplicação.
- **Logs.** Cada mensagem enviada aparece em **Email API → Logs** com a origem **SMTP** e o código de resposta dela, junto com as rejeições por limite de envio e as falhas de login. Consulte [Logs de requisições](/pt/docs/logs/request-logs/).
- **Webhooks.** Os e-mails enviados por SMTP emitem os mesmos eventos de entrega e engajamento que os e-mails da API, mas não `email.accepted`. O primeiro evento normalmente é `email.delivered`.

## Como o SMTP difere da API de e-mail

| Recurso | API de e-mail | SMTP relay |
| --- | --- | --- |
| Templates e variáveis do Temple | Sim | Não. A mensagem é enviada como você a montou. |
| Envio agendado | Sim, com `scheduled_at` | Não |
| Metadados | Sim, com `meta` | Não |
| Rastreamento de aberturas e cliques | Configurações do domínio, ou por e-mail com `tracking` | Apenas as configurações **Track loads** e **Track clicks** do domínio de envio |
| Chaves de idempotência | Sim | Não |
| Evento `email.accepted` | Sim | Não |
| Destinatários por mensagem | Até 50 em cada um de `to`, `cc` e `bcc` | Sem limite fixo |
| Quando os créditos são cobrados | Quando a requisição é aceita. Sem créditos suficientes, retorna `402`. | Quando cada e-mail é processado. Sem créditos suficientes, o e-mail fica retido. |
| O que um limite de envio conta | Cada destinatário | Cada transação SMTP (uma mensagem) |
| Tamanho máximo da mensagem | 40 MB | 40 MB |

O Emailit não lê cabeçalhos de controle `X-Emailit-*` nas mensagens SMTP. Consulte [Cabeçalhos SMTP](/pt/docs/smtp/headers/).

## Limites

| Limite | Valor |
| --- | --- |
| Tamanho da mensagem | 40 MB |
| Ritmo de envio (padrão) | 2 mensagens por segundo e 5.000 mensagens por dia por workspace, compartilhados com a API |
| Renovação diária | Meia-noite UTC |
| Créditos | 1 por destinatário |

Os workspaces no Pro e no Business recebem aumentos automáticos de limite com base na saúde de envio, e qualquer workspace pode pedir mais pelo card **Sending Limits** na página inicial do painel. Consulte [Limites](/pt/docs/limits/).

## Próximos passos

  - [Configurações SMTP](/pt/docs/smtp/settings/): Portas, TLS, autenticação, regras do From e limites.
  - [Cabeçalhos e respostas](/pt/docs/smtp/headers/): O que o Emailit adiciona, reescreve e remove.
  - [Solução de problemas](/pt/docs/smtp/troubleshooting/): Cada código de resposta SMTP com a solução.
  - [Guia rápido de SMTP](/pt/docs/quickstart/smtp/): Envie a sua primeira mensagem passo a passo.

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