gomail

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

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/v2

Funciones 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.

Recommendations