Cómo enviar correos con Rust
Envía correos desde Rust con `reqwest` (async) y `serde_json`.
No hay SDK oficial — llama a la API REST de Publiq con el cliente HTTP del lenguaje, desde el servidor, con la API key en el header Authorization.
use reqwest::Client;
use serde_json::json;
async fn send_welcome(to: &str) -> reqwest::Result<()> {
let client = Client::new();
client
.post("https://api.publiq.digital/v1/emails")
.bearer_auth(std::env::var("PUBLIQ_API_KEY").unwrap())
.json(&json!({
"from": "you@yourdomain.com",
"to": to,
"templateKey": "welcome-email",
"variables": { "first_name": "Ana" }
}))
.send()
.await?;
Ok(())
}Buenas prácticas
- Llama a Publiq siempre desde el servidor — nunca expongas la API key en el cliente.
- Crea la instancia del cliente una vez y reutilízala entre peticiones.
- Prefiere
templateKeysobre HTML inline para mantener el contenido versionado. - Maneja
PubliqError(status/code); el SDK ya reintenta errores transitorios con backoff. - Envía desde un dominio verificado — ver Dominios.