Biblioteca gomail para enviar correos electrónicos en Go
gomail es una biblioteca potente y fácil de usar en Go (Golang) para enviar correos electrónicos. Soporta correos HTML, archivos adjuntos, múltiples destinatarios, autenticación SMTP y cifrado TLS/SSL. La biblioteca es ideal para desarrolladores que necesitan integrar notificaciones por correo, confirmaciones de registro o boletines de marketing en sus aplicaciones Go.
¿Por qué necesitas gomail?
La biblioteca estándar de Go (net/smtp) proporciona capacidades básicas para enviar correos, pero a menudo carece de funcionalidad para tareas reales: es difícil trabajar con plantillas HTML, archivos adjuntos, múltiples destinatarios y requisitos modernos de seguridad (STARTTLS, OAuth2). gomail resuelve estos problemas ofreciendo una API limpia y una configuración flexible.
Instalación
Para instalar gomail, ejecuta el comando:
go get github.com/go-mail/mail/v2Funciones principales
- Envío a través de SMTP con soporte TLS/SSL
- Soporte para correos HTML y de texto plano
- Archivos adjuntos e imágenes incrustadas
- Múltiples destinatarios (To, Cc, Bcc)
- Encabezados y codificaciones personalizables
- Soporte para OAuth2 (por ejemplo, Gmail API)
Ejemplo de código en Go
A continuación se muestra un ejemplo sencillo de envío de un correo HTML a través del servidor SMTP de Gmail:
package main
import (\t"crypto/tls"\t"fmt"\t"log"
\tgomail "github.com/go-mail/mail/v2")
func main() {\td := gomail.NewDialer("smtp.gmail.com", 587, "your_email@gmail.com", "your_app_password")\td.TLSConfig = &tls.Config{InsecureSkipVerify: false}
\tm := gomail.NewMessage()\tm.SetHeader("From", "your_email@gmail.com")\tm.SetHeader("To", "recipient@example.com")\tm.SetHeader("Subject", "¡Hola desde Go!")\tm.SetBody("text/html", "<h1>¡Hola!</h1><p>Este es un correo de prueba.</p>")\tm.Attach("/path/to/file.pdf")
\tif err := d.DialAndSend(m); err != nil {\t\tlog.Fatal(err)\t}\tfmt.Println("¡Correo enviado con éxito!")}Cuándo usar gomail
- Cuando necesites enviar correos transaccionales (confirmaciones, restablecimiento de contraseña)
- Para crear un servicio de boletines en Go
- Cuando se requieran archivos adjuntos o maquetación HTML compleja
- En aplicaciones empresariales con requisitos de cifrado
gomail es una opción fiable para la mayoría de las tareas de envío de correos electrónicos. Gracias al soporte activo de la comunidad y a las actualizaciones periódicas, la biblioteca sigue siendo relevante incluso para proyectos de alta carga.
También en la biblioteca
Aprendizaje automático en C# (.NET): revisión de las bibliotecas ML.NET, Accord.NET, TensorFlow.NET
Tokens JWT en Kotlin: generación, verificación y uso con io.jsonwebtoken
Trabajo con archivos ZIP en Rust: biblioteca zip y guía completa
Laravel Passport PHP: guía completa con ejemplos prácticos
Configuración de aplicaciones Node.js: mejores herramientas y enfoques