SimplesMail

← Docs / Quickstart

Quickstart Python

Use requests (síncrono) ou httpx (suporta async). Funciona com Python 3.8+.

1. Instalação

shell
pip install requests

2. Hello world — enviar 1 email

python
import os
import requests

KEY = os.environ["SIMPLESMAIL_KEY"]  # sm_live_...

r = requests.post(
    "https://api.simplesmail.itbooster.com.br/v1/messages",
    headers={"Authorization": f"Bearer {KEY}"},
    json={
        "from": "no-reply@suaempresa.com.br",
        "fromName": "Sua Empresa",
        "to": "cliente@exemplo.com",
        "subject": "Bem-vindo!",
        "html": "<h1>Olá!</h1><p>Sua conta foi criada.</p>",
    },
    timeout=10,
)
r.raise_for_status()
print("Enviado:", r.json()["id"])

3. Listar mensagens

python
r = requests.get(
    "https://api.simplesmail.itbooster.com.br/v1/messages",
    headers={"Authorization": f"Bearer {KEY}"},
    params={"limit": 50, "status": "delivered"},
    timeout=10,
)
data = r.json()
print(f"{len(data['data'])} mensagens, cursor={data.get('nextCursor')}")

4. Criar API key

python
r = requests.post(
    "https://api.simplesmail.itbooster.com.br/v1/api-keys",
    headers={"Authorization": f"Bearer {KEY}"},
    json={"name": "Produção webhook"},
    timeout=10,
)
result = r.json()
# IMPORTANTE: 'key' só aparece nesta resposta. Guarde com segurança.
print("Nova API key:", result["key"])

5. Verificar domínio

python
# 1) Cadastrar domínio
create = requests.post(
    "https://api.simplesmail.itbooster.com.br/v1/domains",
    headers={"Authorization": f"Bearer {KEY}"},
    json={"domain": "suaempresa.com.br"},
    timeout=10,
).json()
print("Publique no DNS:", create["dnsRecords"])

# 2) Após publicar DKIM/SPF/DMARC, forçar verificação
verify = requests.post(
    f"https://api.simplesmail.itbooster.com.br/v1/domains/{create['id']}/verify",
    headers={"Authorization": f"Bearer {KEY}"},
    timeout=10,
).json()
print("Status:", verify["status"])

A resposta inclui os registros DNS (DKIM CNAME, SPF, DMARC) que você precisa publicar no provedor do domínio. Depois de publicar, chame POST /v1/domains/{id}/verify para forçar a verificação.

Próximos passos