Como enviar e-mails com Rust
Envie e-mails do Rust com `reqwest` (async) e `serde_json`.
Não há SDK oficial — chame a API REST do Publiq com o cliente HTTP da linguagem, a partir do servidor, com a API key no 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(())
}Boas práticas
- Chame o Publiq sempre do servidor — nunca exponha a API key no cliente.
- Crie a instância do cliente uma vez e reutilize-a entre requisições.
- Prefira
templateKeya HTML inline para manter o conteúdo versionado. - Trate
PubliqError(status/code); o SDK já retenta erros temporários com backoff. - Envie de um domínio verificado — veja Domínios.