Package smtpd implements a basic SMTP server.
Copyright © 2026 Matt Krueger <mkrueger@rstms.net> All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
SMTP Relay Service Этот проект представляет собой HTTP-шлюз для отправки email через SMTP, позволяя преобразовывать HTTP-запросы в SMTP-сообщения. Он решает проблему интеграции различных систем с почтовыми серверами, обеспечивая простой и безопасный интерфейс для отправки писем с интеллектуальным подбором механизмов аутентификации и кешированием результатов. Основные бизнес-задачи: Ключевые особенности: - Интеллектуальный подбор аутентификации: XOAUTH2 → CRAM-MD5 → PLAIN → LOGIN - Глобальное кеширование методов аутентификации между запросами - Поддержка OAuth2 для облачных сервисов (Gmail, Outlook, Yandex) - Автоматическое определение необходимости STARTTLS - Детальная классификация ошибок аутентификации - Полная трассировка запросов через requestID Преимущества по сравнению с традиционными решениями: Архитектура: - HTTP сервер принимает JSON запросы - emailSender выполняет подбор аутентификации и отправку - Кеш хранит успешные методы аутентификации - OAuth2 flow для получения refresh tokens
Package smtp implements the Simple Mail Transfer Protocol as defined in RFC 5321. It also implements the following extensions: LMTP (RFC 2033) is also supported. Additional extensions may be handled by other packages.
Package smtpd implements a basic SMTP server.
Package smtpd implements an SMTP server with support for STARTTLS, authentication (PLAIN/LOGIN), XCLIENT and optional restrictions on the different stages of the SMTP session.
Package smtppool creates a pool of reusable SMTP connections for high throughput e-mailing. This file was forked from: https://github.com/jordan-wright/email (MIT License, Copyright (c) 2013 Jordan Wright). Package smtppool creates a pool of reusable SMTP connections for high throughput e-mailing.
Package smtpd implements an SMTP server with support for STARTTLS, authentication (PLAIN/LOGIN), XCLIENT and optional restrictions on the different stages of the SMTP session.
Package gomail provides a simple interface to compose emails and to mail them efficiently. More info on Github: https://github.com/go-gomail/gomail A daemon that listens to a channel and sends all incoming messages. Efficiently send a customized newsletter to a list of recipients. Send an email using a local SMTP server. Send an email using an API or postfix.
Package gomail provides a simple interface to compose emails and to mail them efficiently. More info on Github: https://github.com/go-gomail/gomail A daemon that listens to a channel and sends all incoming messages. Efficiently send a customized newsletter to a list of recipients. Send an email using a local SMTP server. Send an email using an API or postfix.
Package gomail provides a simple interface to compose emails and to mail them efficiently. More info on Github: https://github.com/go-mail/mail A daemon that listens to a channel and sends all incoming messages. Efficiently send a customized newsletter to a list of recipients. Send an email using a local SMTP server. Send an email using an API or postfix.
Package gomail provides a simple interface to compose emails and to mail them efficiently. More info on Github: https://github.com/go-gomail/gomail A daemon that listens to a channel and sends all incoming messages. Efficiently send a customized newsletter to a list of recipients. Send an email using a local SMTP server. Send an email using an API or postfix.
Package email provides production-ready email sending capabilities for Go applications. This package offers a complete email solution with SMTP support, HTML and plain text templates, file attachments, retry logic, rate limiting, and comprehensive error handling. It is designed to be simple to use while providing the flexibility needed for production applications. Basic email sending: Create and use email templates: Send emails with file attachments: The package uses a simple Logger interface for observability. By default, no logs are produced. To enable logging, provide a Logger implementation in SMTPConfig: The package logs at these levels: For high-throughput sending, enable SMTP connection pooling to reuse established connections across sends, avoiding per-email TCP + TLS + AUTH overhead: Pool configuration options: The package supports composable middleware for cross-cutting concerns. Middleware wraps the Sender interface, following the same pattern as net/http middleware: Or use NewMailerWithOptions: Built-in middlewares: For OpenTelemetry tracing, see the contrib/otelmail submodule (github.com/KARTIKrocks/go-email/contrib/otelmail). Sign outgoing emails with DKIM-Signature headers for improved deliverability. Set DKIMConfig on SMTPConfig to automatically sign all outgoing SMTP messages: For raw message signing (e.g., with AWS SES), use BuildRawMessage with a DKIMConfig or call SignMessage directly. Supports RSA-SHA256 and Ed25519-SHA256 algorithms. Wrap any Sender with AsyncSender for non-blocking background delivery: AsyncSender implements the Sender interface and composes with middleware. Send via HTTP APIs instead of SMTP using contrib submodules: All adapters implement the Sender interface and live in separate Go modules. Use MockSender for testing: The package provides detailed errors with context: All send operations accept context.Context for timeouts and cancellation: The package includes several security features: Always use environment variables for sensitive credentials: For Gmail, use App Passwords instead of your regular password. Enable 2FA and generate an App Password at: https://myaccount.google.com/apppasswords