Versions in this module Expand all Collapse all v0 v0.16.0-RC3 Jun 28, 2022 v0.16.0-RC2 Aug 30, 2021 v0.16.0-RC1 Apr 13, 2021 v0.15.3 May 17, 2021 v0.15.2 May 12, 2021 v0.15.1 Apr 17, 2021 Changes in this version type Backend + GenerateSID func() string type Server + Logger *zap.SugaredLogger v0.15.0 Mar 24, 2021 Changes in this version + var EnhancedCodeNotSet = EnhancedCode + var ErrAuthRequired = errors.New("Please authenticate first") + var ErrAuthUnsupported = errors.New("Authentication not supported") + var ErrDataReset = errors.New("smtp: message transmission aborted") + var ErrDataTooLarge = &SMTPError + var ErrTooLongLine = errors.New("smtp: too longer line in input stream") + var NoEnhancedCode = EnhancedCode + func SendMail(addr string, a sasl.Client, from string, to []string, r io.Reader) error + type Backend interface + AnonymousLogin func(state *ConnectionState) (Session, error) + Login func(state *ConnectionState, username, password string) (Session, error) + type BodyType string + const Body7Bit + const Body8BitMIME + const BodyBinaryMIME + type Client struct + CommandTimeout time.Duration + DebugWriter io.Writer + SubmissionTimeout time.Duration + Text *textproto.Conn + func Dial(addr string) (*Client, error) + func DialTLS(addr string, tlsConfig *tls.Config) (*Client, error) + func DialWithSocks5(addr string, socks5URI string) (*Client, error) + func NewClient(conn net.Conn, host string) (*Client, error) + func NewClientLMTP(conn net.Conn, host string) (*Client, error) + func (c *Client) Auth(a sasl.Client) error + func (c *Client) Close() error + func (c *Client) Data() (io.WriteCloser, error) + func (c *Client) Extension(ext string) (bool, string) + func (c *Client) GetRcpts() []string + func (c *Client) Hello(localName string) error + func (c *Client) LMTPData(statusCb func(rcpt string, status *SMTPError)) (io.WriteCloser, error) + func (c *Client) Mail(from string, opts *MailOptions) error + func (c *Client) Noop() error + func (c *Client) Quit() error + func (c *Client) Rcpt(to string, opts *RcptOptions) error + func (c *Client) Reset() error + func (c *Client) StartTLS(config *tls.Config) error + func (c *Client) TLSConnectionState() (state tls.ConnectionState, ok bool) + func (c *Client) Verify(addr string) error + type Conn struct + func (c *Conn) Close() error + func (c *Conn) ReadLine() (string, error) + func (c *Conn) Reject() + func (c *Conn) Server() *Server + func (c *Conn) Session() Session + func (c *Conn) SetSession(session Session) + func (c *Conn) State() ConnectionState + func (c *Conn) TLSConnectionState() (state tls.ConnectionState, ok bool) + func (c *Conn) WriteResponse(code int, enhCode EnhancedCode, text ...string) + type ConnectionState struct + Hostname string + LocalAddr net.Addr + Original *ConnectionState + RemoteAddr net.Addr + TLS tls.ConnectionState + type DSNNotify string + const NotifyDelayed + const NotifyFailure + const NotifyNever + const NotifySuccess + type DSNReturn string + const ReturnFull + const ReturnHeaders + type EnhancedCode [3]int + type LMTPSession interface + LMTPData func(r io.Reader, status StatusCollector) error + type Logger interface + Printf func(format string, v ...interface{}) + Println func(v ...interface{}) + type MailOptions struct + Auth *string + Body BodyType + EnvelopeID string + RequireTLS bool + Return DSNReturn + Size int + UTF8 bool + type ProxyBackend interface + AllowProxy func(actual, asserted ConnectionState) bool + type ProxySession interface + AllowProxy func(asserted ConnectionState) bool + type RcptOptions struct + Notify []DSNNotify + OriginalRecipient string + OriginalRecipientType string + type SMTPError struct + Code int + EnhancedCode EnhancedCode + Message string + func (err *SMTPError) Error() string + func (err *SMTPError) Temporary() bool + type SaslServerFactory func(conn *Conn) sasl.Server + type Server struct + Addr string + AllowInsecureAuth bool + AuthDisabled bool + Backend Backend + Debug io.Writer + Domain string + EnableBINARYMIME bool + EnableDSN bool + EnableREQUIRETLS bool + EnableSMTPUTF8 bool + ErrorLog Logger + LMTP bool + MaxLineLength int + MaxMessageBytes int + MaxRecipients int + RateLimiter throttled.RateLimiter + ReadTimeout time.Duration + SecureNet []*net.IPNet + Strict bool + TLSConfig *tls.Config + WriteTimeout time.Duration + func NewServer(be Backend) *Server + func (s *Server) Close() error + func (s *Server) EnableAuth(name string, f SaslServerFactory) + func (s *Server) ForEachConn(f func(*Conn)) + func (s *Server) ListenAndServe() error + func (s *Server) ListenAndServeTLS() error + func (s *Server) Serve(l net.Listener) error + type Session interface + Data func(r io.Reader) error + Logout func() error + Mail func(from string, opts MailOptions) error + Rcpt func(to string, opts RcptOptions) error + Reset func() + type StatusCollector interface + SetStatus func(rcptTo string, err error) v0.15.0-RC2 Mar 11, 2021 v0.15.0-RC1 Feb 23, 2021