Registro de cambios

Nuevos SDKs para .NET, Rust, Elixir y Symfony

Publicado el:

¿Tu stack usa .NET, Rust, Elixir o Symfony? Ahora puedes conectar Lettermint a tu aplicación con un SDK oficial. Una vez instalado, envías correos transaccionales y correos broadcast con unas pocas líneas de código.

Puede que ya conozcas los paquetes de la comunidad para .NET, Elixir y Symfony. Puedes seguir usándolos. Los SDKs oficiales los mantenemos nosotros. Por eso, cada nueva función de Lettermint llega también a ellos.

Enviar correos con .NET y C#

El SDK de .NET está disponible en NuGet y requiere .NET 8 o superior. Asegúrate de instalar Lettermint. El SDK de la comunidad de ExciteOrg (se abre en una ventana nueva) se llama LettermintDotNet.

Así envías tu primer correo:

          using Lettermint;

using var email = LettermintClient.Email("lm_project_token");

var response = await email
    .From("sender@acme.com")
    .To("recipient@acme.com")
    .Subject("Hello from Lettermint")
    .Html("<p>Hello World!</p>")
    .SendAsync();

        

En la guía de .NET verás cómo añadir archivos adjuntos y usar la Team API.

El SDK de Rust ya es oficial

Franz Geffke (se abre en una ventana nueva) creó la primera versión del SDK de Rust. Nosotros nos hemos encargado de su mantenimiento y hemos publicado la versión 1.0, que ahora funciona igual que el resto de nuestros SDKs. En crates.io sigue llamándose lettermint. Necesitas Rust 1.98 o superior y un runtime asíncrono como Tokio.

Con la versión 1.0, un envío se ve así:

          use lettermint::Lettermint;

#[tokio::main]
async fn main() -> lettermint::Result<()> {
    let email = Lettermint::email("lm_project_token")?;

    email
        .email()
        .from("sender@acme.com")
        .to("recipient@acme.com")
        .subject("Hello from Lettermint")
        .html("<p>Hello World!</p>")
        .send()
        .await?;

    Ok(())
}

        

¿Ya usas el SDK de Rust? Mientras tu Cargo.toml tenga lettermint = "0.3", no cambia nada para ti. Antes de pasar a la 1.0, revisa la guía de migración (se abre en una ventana nueva). Todas las opciones están en la guía de Rust.

Correos transaccionales desde Elixir y Phoenix

El SDK de Elixir está en Hex y funciona a partir de Elixir 1.15. Puedes usarlo en cualquier proyecto Mix, también en tu app de Phoenix. Un correo se construye paso a paso:

          alias Lettermint.EmailBuilder, as: Email

client = Lettermint.email("lm_project_token")

client
|> Email.new()
|> Email.from("sender@acme.com")
|> Email.to(["recipient@acme.com"])
|> Email.subject("Hello from Lettermint")
|> Email.html("<p>Hello World!</p>")
|> Email.send()

        

¿Envías tus correos con Swoosh? Entonces sigue usando el adaptador de Lettermint (se abre en una ventana nueva) para el envío. El SDK no lo sustituye. Lo necesitas si además quieres llamar a la Team API o verificar webhooks. Encontrarás más ejemplos en la guía de Elixir.

Conectar Lettermint con Symfony Mailer

Para Symfony Mailer, instala lettermint/symfony-mailer con Composer. Necesitas PHP 8.2 y Symfony Mailer 6.4, 7.4 u 8. Ya existía una integración de la comunidad de somehow digital (se abre en una ventana nueva), y puedes seguir usándola.

Después de instalarlo, registra la integración una sola vez en config/services.yaml. Luego añade tu project API token al DSN:

      MAILER_DSN=lettermint+api://lm_project_token@default

    

Y listo. Sigues enviando correos con MailerInterface como siempre, sin cambiar tu código. Los correos que pones en cola con Symfony Messenger también pasan por Lettermint. La guía de Symfony explica paso a paso cómo registrar la integración.

Todos nuestros SDKs oficiales

Los SDKs de .NET, Rust y Elixir hacen más que enviar correos. También te permiten gestionar dominios y proyectos con la Team API y verificar la firma de los webhooks.

Con estos cuatro, ya tenemos SDKs e integraciones oficiales para Node.js, Nuxt, PHP, Laravel, Symfony, Python, Go, Java, .NET, Elixir y Rust. Todos los correos que envías con ellos se procesan en la UE. Los encontrarás todos en nuestra página de integraciones.