Versions in this module Expand all Collapse all v0 v0.2.10 Aug 5, 2022 v0.2.9 Jul 28, 2022 v0.2.8 Jun 26, 2022 v0.2.7 Jun 26, 2022 v0.2.6 Jun 26, 2022 v0.2.5 Jun 26, 2022 v0.2.4 Jun 24, 2022 v0.2.3 Jun 24, 2022 v0.2.2 Jun 24, 2022 v0.2.1 Jun 24, 2022 v0.2.0 Jun 24, 2022 v0.1.0 Jun 24, 2022 Changes in this version + const DefaultMessageSizeMax + const DefaultReadTimeout + const DefaultSessionCommandsMax + const DefaultWriteTimeout + const OK + var ErrAlreadyRunning = errors.New("This server is already listening for requests") + var ErrAuthCancelled = SMTPError + var ErrAuthFailed = SMTPError + var ErrRequiresTLS = SMTPError + var ErrTransaction = SMTPError + func InitPseudoRandomNumberGeneratorFallback() + func NewMessageID() string + type Auth struct + Mechanisms map[string]AuthExtension + func NewAuth() *Auth + func (a *Auth) EHLO() string + func (a *Auth) Extend(mechanism string, extension AuthExtension) error + func (a *Auth) Handle(c *Conn, args string) error + type AuthCramMd5 struct + FindUser func(string) (AuthUser, error) + func (a *AuthCramMd5) CheckResponse(response string, challenge []byte) (AuthUser, bool) + func (a *AuthCramMd5) Handle(conn *Conn, params string) (AuthUser, error) + type AuthExtension interface + Handle func(*Conn, string) (AuthUser, error) + type AuthPlain struct + Auth SimpleAuthFunc + func (a *AuthPlain) Handle(conn *Conn, params string) (AuthUser, error) + type AuthUser interface + IsUser func(value string) bool + Password func() string + type Conn struct + AdditionalHeaders string + ClientHostname string + Errors []error + ForwardedForIP string + FromAddr *mail.Address + ID string + IsTLS bool + Logger *log.Logger + MaxSize int64 + ReadTimeout time.Duration + ToAddr []*mail.Address + User AuthUser + WriteTimeout time.Duration + func (c *Conn) AddInfoHeader(headerName, headerText string) + func (c *Conn) EndTX() error + func (c *Conn) ReadData() (string, error) + func (c *Conn) ReadLine() (string, error) + func (c *Conn) ReadSMTP() (string, string, error) + func (c *Conn) Reset() + func (c *Conn) ResetBuffers() + func (c *Conn) StartTX(from *mail.Address) error + func (c *Conn) WriteEHLO(message string) error + func (c *Conn) WriteOK() error + func (c *Conn) WriteSMTP(code int, message string) error + type Extension interface + EHLO func() string + Handle func(*Conn, string) error + type LimitedReader struct + DidHitLimit bool + N int64 + R io.Reader + ReadsRemaining int + func (l *LimitedReader) Read(p []byte) (n int, err error) + type Message struct + Conn *Conn + From *mail.Address + Header mail.Header + Logger *log.Logger + MessageID string + RawBody []byte + Rcpt []*mail.Address + Source []byte + Subject string + To []*mail.Address + func NewMessage(conn *Conn, data []byte, rcpt []*mail.Address, logger *log.Logger) (*Message, error) + func (m *Message) Attachments() ([]*Part, error) + func (m *Message) BCC() []*mail.Address + func (m *Message) FindBody(contentType string) ([]byte, error) + func (m *Message) HTML() ([]byte, error) + func (m *Message) Parts() ([]*Part, error) + func (m *Message) Plain() ([]byte, error) + type MessageHandler func(m *Message) error + type Part struct + Body []byte + Children []*Part + Header textproto.MIMEHeader + type RcptHandler func(addresses []*mail.Address, conn *Conn, messageID string) (err error) + type SMTPError struct + Code int + Err error + func NewError(code int, message string) SMTPError + func (a SMTPError) Error() string + type Server struct + Auth Extension + Disabled map[string]bool + Extensions map[string]Extension + Handler MessageHandler + Help string + Logger *log.Logger + MaxCommands int + MaxConn int + MaxSize int64 + Name string + OnRcpt RcptHandler + PreAuthVerbsAllowed []string + RateLimiter func(*Conn) bool + ReadTimeout time.Duration + Ready chan bool + ServerName string + TLSConfig *tls.Config + Verbose bool + WriteTimeout time.Duration + func NewServer(handler func(*Message) error) *Server + func NewServerWithLogger(handler func(*Message) error, logger *log.Logger) *Server + func (s *Server) Address() string + func (s *Server) Close() error + func (s *Server) Disable(verbs ...string) + func (s *Server) Enable(verbs ...string) + func (s *Server) Extend(verb string, extension Extension) error + func (s *Server) GetAddressArg(argName string, args string) (*mail.Address, error) + func (s *Server) Greeting(conn *Conn) string + func (s *Server) HandleSMTP(conn *Conn) error + func (s *Server) ListenAndServe(addr string) error + func (s *Server) SetHelp(message string) error + func (s *Server) UseAuth(auth Extension) + func (s *Server) UseTLS(cert, key string) error + type SimpleAuthFunc func(string, string) (AuthUser, bool) + type SimpleExtension struct + Ehlo string + Handler func(*Conn, string) error + func (s *SimpleExtension) EHLO() string + func (s *SimpleExtension) Handle(c *Conn, args string) error