// Project Brief encompasses both a command-line, non-TUI, // minimalistically-featured POP3/SMTP-based MUA // (colloquially known as a "mail client") // as well as a general-purpose library facilitating the cmd. // // Project Brief is in development and instable as of 2021—2024-05. // No compatibility promises are made. // Use at your own risk. // // Install via: // $ go install pkg.jfrech.com/brief/cmd/brief@latest // // # Noteworthy client features: // + Vocality about display names paired with an alias system are designed // to prevent homograph attacks (which are often employed in phishing). // + All mails are stored fully locally (IMAP is actively not supported). // Multi-machine mail usage is expected to be facilitated by a third party // (such as by a Git repository). // + All mails are pristinely stored as presented by the POP3 source. // Mails are marked up with a RFC-822-compliant Brief header // (via "X-Brief-*" headers) // which contains a cryptographic hash to e.g. detect disk failure. // + The entire body of mail messages (called a "sack" in Brief terminology) // is present to all commands at all times and can be richly searched. // + Explicit configurability of the usage of STARTTLS (defaults to off). // + Password manager to allow for a single .brief/config.xml configuration // which may be put into a semi-private Git repository // without fully compromising mailing credentials. // + Message composing which interoperates with the system's $EDITOR. // + Multiple messages with the same "Message-Id" are // explicitly tracked. // Such, when sending an e-mail to a list server // and getting back one's own e-mail, // one can clearly distinguish between one's original content and // the list server's transformation. // See also brief(1) (currently in draft stage): // $ brief install-manpage /tmp/brief.1.gz && man /tmp/brief.1.gz // // # Noteworthy library features: // + Byte-precise RFC 822 message parsing // via [*pkg.jfrech.com/brief/mailx.Splitter]. // + Fuzz-tested 80-column-optimised Q-encoding for header fields // via [pkg.jfrech.com/brief/mailx.Field.Encode]. // + POP3 client implementation // via [pkg.jfrech.com/brief/pop3]. // // Brief is written by Jonathan Frech, 2021—2024. package brief