Библиотека gomail для отправки Email на Go
gomail — это мощная и простая в использовании библиотека на Go (Golang) для отправки электронной почты. Она поддерживает HTML-письма, вложения, несколько получателей, SMTP-аутентификацию и шифрование TLS/SSL. Библиотека идеально подходит для разработчиков, которым нужно интегрировать почтовые уведомления, подтверждения регистрации или маркетинговые рассылки в свои Go-приложения.
Зачем нужна gomail?
Стандартная библиотека Go (net/smtp) предоставляет базовые возможности для отправки писем, но для реальных задач часто не хватает функциональности: сложно работать с HTML-шаблонами, вложениями, несколькими адресатами и современными требованиями к безопасности (STARTTLS, OAuth2). gomail решает эти проблемы, предлагая чистый API и гибкую конфигурацию.
Установка
Для установки gomail выполните команду:
go get github.com/go-mail/mail/v2Основные функции
- Отправка через SMTP с поддержкой TLS/SSL
- Поддержка HTML и текстовых писем
- Вложения файлов и встроенные изображения
- Множественные получатели (To, Cc, Bcc)
- Настраиваемые заголовки и кодировки
- Поддержка OAuth2 (например, Gmail API)
Пример кода на Go
Ниже приведён простой пример отправки HTML-письма через SMTP-сервер Gmail:
package main
import (
"crypto/tls"
"fmt"
"log"
gomail "github.com/go-mail/mail/v2"
)
func main() {
d := gomail.NewDialer("smtp.gmail.com", 587, "your_email@gmail.com", "your_app_password")
d.TLSConfig = &tls.Config{InsecureSkipVerify: false}
m := gomail.NewMessage()
m.SetHeader("From", "your_email@gmail.com")
m.SetHeader("To", "recipient@example.com")
m.SetHeader("Subject", "Привет из Go!")
m.SetBody("text/html", "<h1>Здравствуйте!</h1><p>Это тестовое письмо.</p>")
m.Attach("/path/to/file.pdf")
if err := d.DialAndSend(m); err != nil {
log.Fatal(err)
}
fmt.Println("Письмо отправлено успешно!")
}Когда использовать gomail
- Когда нужно отправлять транзакционные письма (подтверждения, сброс пароля)
- Для создания сервиса рассылок на Go
- При необходимости вложений или сложной HTML-вёрстки
- В корпоративных приложениях с требованиями к шифрованию
gomail — это надёжный выбор для большинства задач по отправке Email. Благодаря активной поддержке сообщества и регулярным обновлениям, библиотека остаётся актуальной даже для высоконагруженных проектов.