imapsql

package
v0.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 21, 2024 License: GPL-3.0 Imports: 32 Imported by: 0

Documentation

Overview

Package imapsql implements SQL-based storage module using go-imap-sql library (github.com/foxcpp/go-imap-sql).

Interfaces implemented: - module.StorageBackend - module.PlainAuth - module.DeliveryTarget

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(_, instName string, _, inlineArgs []string) (module.Module, error)

Types

type ExtBlob added in v0.5.0

type ExtBlob struct {
	io.ReadCloser
}

func (ExtBlob) Sync added in v0.5.0

func (e ExtBlob) Sync() error

func (ExtBlob) Write added in v0.5.0

func (e ExtBlob) Write(p []byte) (n int, err error)

type ExtBlobStore added in v0.5.0

type ExtBlobStore struct {
	Base module.BlobStore
}

func (ExtBlobStore) Create added in v0.5.0

func (e ExtBlobStore) Create(key string, objSize int64) (imapsql.ExtStoreObj, error)

func (ExtBlobStore) Delete added in v0.5.0

func (e ExtBlobStore) Delete(keys []string) error

func (ExtBlobStore) Open added in v0.5.0

func (e ExtBlobStore) Open(key string) (imapsql.ExtStoreObj, error)

type Storage

type Storage struct {
	Back *imapsql.Backend

	Log log.Logger
	// contains filtered or unexported fields
}

func (*Storage) Close

func (store *Storage) Close() error

func (*Storage) CreateIMAPAcct added in v0.3.0

func (store *Storage) CreateIMAPAcct(accountName string) error

func (*Storage) CreateMessageLimit

func (store *Storage) CreateMessageLimit() *uint32

func (*Storage) DeleteIMAPAcct added in v0.3.0

func (store *Storage) DeleteIMAPAcct(accountName string) error

func (*Storage) EnableUpdatePipe

func (store *Storage) EnableUpdatePipe(mode updatepipe.BackendMode) error

func (*Storage) GetIMAPAcct added in v0.3.0

func (store *Storage) GetIMAPAcct(accountName string) (backend.User, error)

func (*Storage) GetOrCreateIMAPAcct added in v0.3.0

func (store *Storage) GetOrCreateIMAPAcct(username string) (backend.User, error)

func (*Storage) I18NLevel

func (store *Storage) I18NLevel() int

func (*Storage) IMAPExtensions

func (store *Storage) IMAPExtensions() []string

func (*Storage) Init

func (store *Storage) Init(cfg *config.Map) error

func (*Storage) InstanceName

func (store *Storage) InstanceName() string

func (*Storage) ListIMAPAccts added in v0.3.0

func (store *Storage) ListIMAPAccts() ([]string, error)

func (*Storage) Login added in v0.4.0

func (store *Storage) Login(_ *imap.ConnInfo, usenrame, password string) (backend.User, error)

func (*Storage) Lookup added in v0.3.0

func (store *Storage) Lookup(ctx context.Context, key string) (string, bool, error)

func (*Storage) Name

func (store *Storage) Name() string

func (*Storage) Start

func (store *Storage) Start(ctx context.Context, msgMeta *module.MsgMetadata, mailFrom string) (module.Delivery, error)

func (*Storage) SupportedThreadAlgorithms added in v0.4.0

func (store *Storage) SupportedThreadAlgorithms() []sortthread.ThreadAlgorithm

type WriteExtBlob added in v0.5.0

type WriteExtBlob struct {
	module.Blob
}

func (WriteExtBlob) Read added in v0.5.0

func (w WriteExtBlob) Read(p []byte) (n int, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL