A comprehensive and idiomatic Go library for sending emails with SMTP, attachments, templates, and extensive security features.
go-mail is a feature-rich email library for Go that provides a simple yet powerful interface for sending emails programmatically. It combines functionality from the Go standard library with modern extensions to offer a robust solution for mail and SMTP tasks while maintaining a small dependency footprint.
Go developers building applications that require programmatic email sending, such as notification systems, marketing tools, or automated reporting services.
Developers choose go-mail for its comprehensive feature set, including multiple SMTP authentication methods, security features like DKIM and S/MIME, and advanced delivery controls, all while adhering to idiomatic Go practices and minimizing external dependencies.
📧 Easy to use, yet comprehensive library for sending mails with Go
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Relies primarily on the Go Standard Library, minimizing external dependencies and aligning with idiomatic Go practices, as emphasized in the philosophy.
Supports DKIM signatures via middleware, S/MIME signing, and configurable TLS policies, ensuring secure email transmission for compliance-sensitive applications.
Offers concurrency-safe connection reuse, custom dial functions, and UNIX domain socket support, providing fine-tuned delivery management for complex setups.
Allows attachments from multiple sources like files, io.Reader, and embed.FS, plus template support for dynamic email content, enhancing flexibility.
Lacks direct abstractions for cloud email services, requiring manual SMTP configuration which can be cumbersome compared to service-specific SDKs.
Essential features like DKIM signatures are implemented via separate middleware, adding complexity and an extra layer of dependency management.
With extensive configuration options and low-level controls, it can be overwhelming for developers with simple email needs, despite the documented examples.