Documentation ¶
Overview ¶
Package config defines .brief/config.xml.
Index ¶
- Constants
- Variables
- func Name() string
- func ParseEMailAddress(text string) (*netmail.Address, error)
- func Write(fsys vfs.FS, cnf *Config) error
- type Address
- func (oldaddr *Address) Clone() *Address
- func (address *Address) EffectivePOP3Host() string
- func (address *Address) EffectivePOP3HostPort() string
- func (address *Address) EffectivePOP3Port() int
- func (address *Address) EffectivePOP3Username() string
- func (address *Address) EffectiveSMTPHost() string
- func (address *Address) EffectiveSMTPHostPort() string
- func (address *Address) EffectiveSMTPPort() int
- func (address *Address) EffectiveSMTPUsername() string
- func (address *Address) NetAddress() *netmail.Addressdeprecated
- func (addr *Address) NetmailAddress() *netmail.Address
- func (address *Address) POP3Client(crypter vault.Crypter) (*pop3.Client, error)
- func (addr *Address) POP3IsZero() bool
- func (addr *Address) SMTPAvailable() bool
- func (addr *Address) SMTPIsZero() bool
- func (address *Address) SMTPSendMail(crypter vault.Crypter) (SMTPSendMailFunc, error)
- func (address *Address) URLPOP3() *url.URL
- func (address *Address) URLSMTP() *url.URL
- type Alias
- type Config
- func (oldcnf *Config) Clone() *Config
- func (cnf *Config) DealiasFunc() DealiasFunc
- func (cnf *Config) Editor() string
- func (cnf *Config) EnaliasFunc() EnaliasFunc
- func (cnf *Config) LookupAddressish(addressish string) (*Address, error)
- func (cnf *Config) LookupAlias(alias Alias) (*Address, error)
- func (cnf *Config) LookupNetmailAddress(addr *netmail.Address) (*Address, error)
- func (cnf *Config) NetmailAddressish(addressish string) (*netmail.Address, error)deprecated
- func (oldcnf *Config) Recrypt(newv *vault.Vault, recrypt vault.RecryptFunc) (*Config, error)
- func (cnf *Config) SanitiseAddress(address *mail.Address) *mail.Address
- func (cnf *Config) SanitiseAddresses(addresses []*mail.Address) []*mail.Address
- type DealiasFunc
- type EnaliasFunc
- type Note
- type SMTPSendMailFunc
Constants ¶
View Source
const ( // E.g. RFC 8314 3.1. DefaultPOP3Port = 995 DefaultPOP3PortSTARTTLS = 110 )
View Source
const ( // port 25 is not recommended DefaultSMTPPort = 465 DefaultSMTPPortSTARTTLS = 587 )
Cf. RFC 8314
View Source
const AliasRegexp = `^:[_a-z][-.0-9_a-z]*$`
Variables ¶
Functions ¶
func Name ¶
func Name() string
Name() returns the relative, slash-delimited name of the config XML file.
func ParseEMailAddress ¶
TODO self-implement ((with option to expect chevrons and (quoted) display names)
Types ¶
type Address ¶
type Address struct { // E.g. "info@jfrech.com" EMailAddress string `xml:"e-mail-address"` // E.g. "Jonathan Frech" DisplayName string `xml:"display-name,omitempty"` // E.g. "jfrech" // Alias MUST NOT contain an at sign "@" character (unicode character U+40). Alias Alias `xml:"alias,omitempty"` Notes []Note `xml:"note"` POP3Enabled bool `xml:"pop3-enabled,omitempty"` POP3Host string `xml:"pop3-host,omitempty"` // POP3Port defaults to 995 (or 110 if POP3UseSTARTTLS) POP3Port int `xml:"pop3-port,omitempty"` POP3UseSTARTTLS bool `xml:"pop3-use-starttls,omitempty"` // POP3Username defaults to EMailAddress POP3Username string `xml:"pop3-username,omitempty"` POP3Password vault.Ciphertext `xml:"pop3-password,omitempty"` SMTPEnabled bool `xml:"smtp-enabled,omitempty"` SMTPHost string `xml:"smtp-host,omitempty"` // SMTPPort defaults to 465 (or 587 if SMTPUseSTARTTLS). Port 25 is discouraged for e-mail clients. SMTPPort int `xml:"smtp-port,omitempty"` SMTPUseSTARTTLS bool `xml:"smtp-use-starttls,omitempty"` // SMTPUsername defaults to EMailAddress SMTPUsername string `xml:"smtp-username,omitempty"` SMTPPassword vault.Ciphertext `xml:"smtp-password,omitempty"` }
func (*Address) POP3Client ¶
func (*Address) SMTPSendMail ¶
func (address *Address) SMTPSendMail(crypter vault.Crypter) (SMTPSendMailFunc, error)
func (*Address) URLSMTP ¶
Cf. https://datatracker.ietf.org/doc/html/draft-earhart-url-smtp-00 [accessed 2023-05-13] Cf. (*Address).URLPOP3
type Config ¶
type Config struct { XMLName xml.Name `xml:"brief-config"` Vault *vault.Vault IndexAllowSymlinks bool `xml:"index-allow-symlinks,omitempty"` Addresses []*Address `xml:"address"` }
func (*Config) DealiasFunc ¶
func (cnf *Config) DealiasFunc() DealiasFunc
func (*Config) EnaliasFunc ¶
func (cnf *Config) EnaliasFunc() EnaliasFunc
func (*Config) LookupAddressish ¶
[2023-04-29, jfrech] XXX This is implemented by linear search.
func (*Config) LookupAlias ¶
[2023-07-24, jfrech] XXX This is implemented by linear search.
func (*Config) LookupNetmailAddress ¶
ignores addr.Name [2023-07-24, jfrech] XXX This is implemented by linear search.
func (*Config) Recrypt ¶
(*Config).Recrypt returns a deep clone.
func (*Config) SanitiseAddress ¶
type EnaliasFunc ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.