Documentation ¶
Overview ¶
Package gluon implements an IMAP4rev1 (+ extensions) mailserver.
Index ¶
- type Option
- type Server
- func (s *Server) AddUser(ctx context.Context, conn connector.Connector, store store.Store, ...) (string, error)
- func (s *Server) AddWatcher() chan events.Event
- func (s *Server) Close(ctx context.Context) error
- func (s *Server) GetVersionInfo() internal.VersionInfo
- func (s *Server) RemoveUser(ctx context.Context, userID string) error
- func (s *Server) RemoveWatcher(ch chan events.Event)
- func (s *Server) Serve(ctx context.Context, l net.Listener) chan error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Option ¶
type Option interface {
// contains filtered or unexported methods
}
Option represents a type that can be used to configure the server.
func WithDelimiter ¶
WithDelimiter instructs the server to use the given path delimiter instead of the default ('/').
func WithLogger ¶
WithLogger instructs the server to write incoming and outgoing IMAP communication to the given io.Writers.
func WithVersionInfo ¶ added in v0.8.0
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server is the gluon IMAP server.
func (*Server) AddUser ¶
func (s *Server) AddUser(ctx context.Context, conn connector.Connector, store store.Store, driver, source string) (string, error)
AddUser makes a user available to the mailserver.
func (*Server) AddWatcher ¶
AddWatcher adds a new watcher.
func (*Server) Close ¶
Close closes the server. It firstly closes all TCP listeners then closes the backend.
func (*Server) GetVersionInfo ¶ added in v0.8.0
func (s *Server) GetVersionInfo() internal.VersionInfo
func (*Server) RemoveUser ¶ added in v0.5.0
RemoveUser removes a user from the mailserver.
func (*Server) RemoveWatcher ¶ added in v0.8.1
RemoveWatcher removes the watcher from the server and closes the channel.
Directories ¶
Path | Synopsis |
---|---|
Package connector defines the type that connects the server to a remote.
|
Package connector defines the type that connects the server to a remote. |
mock_connector
Package mock_connector is a generated GoMock package.
|
Package mock_connector is a generated GoMock package. |
liner
Package liner handles reading lines from clients that may or may not require continuation.
|
Package liner handles reading lines from clients that may or may not require continuation. |
remote/mock_remote
Package mock_remote is a generated GoMock package.
|
Package mock_remote is a generated GoMock package. |
response
Package response implements types used when sending IMAP responses back to clients.
|
Package response implements types used when sending IMAP responses back to clients. |
session
Package session handles IMAP commands received from clients within a single IMAP session (one client connection).
|
Package session handles IMAP commands received from clients within a single IMAP session (one client connection). |
Package rfc822 implements methods for handling RFC822 messages.
|
Package rfc822 implements methods for handling RFC822 messages. |
package store implements types that store message literals.
|
package store implements types that store message literals. |
mock_store
Package mock_store is a generated GoMock package.
|
Package mock_store is a generated GoMock package. |