Cómo enviar correos con Java / Spring

Envía correos desde Spring con `RestClient` (Spring 6+), llamando a la API REST de Publiq.

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.

import org.springframework.web.client.RestClient;
import java.util.Map;

public class PubliqService {
  private final RestClient client = RestClient.create();

  public void sendWelcome(String to, String name) {
    client.post()
      .uri("https://api.publiq.digital/v1/emails")
      .header("Authorization", "Bearer " + System.getenv("PUBLIQ_API_KEY"))
      .body(Map.of(
        "from", "you@yourdomain.com",
        "to", to,
        "templateKey", "welcome-email",
        "variables", Map.of("first_name", name)
      ))
      .retrieve()
      .toBodilessEntity();
  }
}

Buenas prácticas

  • Llama a Publiq siempre desde el servidor — la API key va en el header Authorization, nunca en el cliente.
  • En 429/5xx, reintenta con backoff exponencial (respeta Retry-After).
  • Prefiere templateKey sobre HTML inline para mantener el contenido versionado.
  • Maneja los errores por el campo error.code de la respuesta — ver Errores.
  • Envía desde un dominio verificado — ver Dominios.

Ver también

Cómo enviar correos con Java / Spring — Publiq Docs