Categorygithub.com/msp301/pinbox-server
modulepackage
0.0.0-20221124230436-26686175f054
Repository: https://github.com/msp301/pinbox-server.git
Documentation: pkg.go.dev

# README

ARCHIVING THIS REPOISTORY. THIS PROJECT HAS BEEN MERGED WITH THE FRONTEND. SEE: https://github.com/msp301/pinbox

Pinbox webmail backend

Pinbox is a self-hosted webmail client greatly inspired by Google Inbox.

Warning: Currently under development

Prerequsites

Configuration

Pinbox server requires a TOML configuration file to define the Maildir location, port etc. See example/config.toml.

Starting the server

make && ./pinbox-server config.toml`

Architecture

Client App -> Backend API -> Notmuch -> OfflineIMAP

License

Licensed under GPL-3.0-or-later

# Packages

No description provided by the author

# Functions

CreateMailboxAPI creates a new Mailbox API instance.
CreateNotmuch creates a new Notmuch object ready to interact with the database specified by the given configuration.
Inbox returns all email messages that match the configured 'Inbox' whilst grouping together any messages that match the labels configured in the 'Bundle' list.
ReadConfigFile loads the configuration file from disk.

# Structs

A Bundle represents a group of Threads.
Config holds any settings used to define the behaviour of the service.
A Label is a tag that can be used to organise messages in the Mailbox.
MailboxAPI contains logic for handling mailbox http requests.
A Message represents an individual email.
MessageContent is a container for the body of a Message.
Notmuch is a Mailbox object intended to interact with a Notmuch database.
A Thread represents a Message chain stored in the Mailbox.

# Interfaces

The Mailbox interface acts as a wrapper for all email actions to abstract any direct email access from the business logic of the Pinbox API transport.