IMAPGOOSE.CONF(5)

πŸ“¦
version 0.5.5 Β· 2 versions
, in alpine 3.24

πŸ’Œ imapgoose.conf β€” the vibe guide πŸ’Œ

okay so this is the configuration file for imapgoose, from the File Formats Manual girlies πŸ’… literally the file that tells imapgoose(1) which IMAP accounts to sync and where to put your mail. bestie, it's the whole map πŸ—ΊοΈβœ¨


🌸 DESCRIPTION 🌸

imapgoose(1) uses scfg format for its configuration file, no cap. The file is just one or more account blocks, and each block defines one IMAP account to synchronize plus its matching local directory. that's it, that's the whole thing 🫢

every mailbox for each account is automatically discovered and synchronized β€” like, it handles it, you don't have to. there's no mailbox selectivity, periodt. you get all of them or, well, all of them 😌


πŸŽ€ FILE FORMAT πŸŽ€

the config uses a simple structured configuration format. each account lives inside an account block, like this iconic little number:

account example {
    server imap.example.com:993
    username user@example.com
    password-cmd pass show email/example
    local-path ~/mail/example
    max-connections 3
    post-sync-cmd notmuch new
}

that's the template, bestie β€” copy the vibe πŸ¦‹


✨ ACCOUNT DIRECTIVES ✨

each account block supports these directives, and yes we're going through all of them πŸ’–

  • server host:port β€” (optional) the IMAP server address and port. TLS/SSL is always used (port 993 is the standard one, iykyk). STARTTLS is deprecated and is not supported β€” like, not even a little bit, don't ask πŸ™ˆ. defaults to using service discovery, as defined in RFC 6186.
  • username string β€” (required) your IMAP username for authentication. gotta have it πŸ‘‘
  • password-cmd command β€” (required) the command that retrieves the account password. the command gets executed and its stdout (trimmed of whitespace/newlines) is used as the password. this is the whole point: it prevents storing passwords in plaintext config files. we love security πŸ’œ

common examples, since you'll ask:

  • password-cmd pass show email/example
  • password-cmd hiq -dF password proto=imaps host=imap.example.com
  • local-path path β€” (required) the local directory for Maildir storage. tilde and environment variables are automatically expanded, slay. each mailbox gets stored as a separate subdirectory using a flat structure β€” e.g., ~/mail/example/INBOX/, ~/mail/example/Sent/.
  • max-connections number β€” (optional, default: 3) maximum concurrent IMAP connections per account. minimum is 2 (that's 1 for the NOTIFY listener + 1 worker β€” the math checks out ✨).
  • post-sync-cmd command β€” (optional) command to run after each successful mailbox sync. so useful for integrating with indexing tools like notmuch(1) 🧚

the command is executed with the account's local-path as the working directory. use -v to print command output πŸ‘€

example: post-sync-cmd notmuch new

  • ignore regex β€” ignore mailboxes matching regex. bye felicia πŸ‘‹
  • disable-tls β€” disables TLS. use with extreme care, and never over a public network 😭 this one is intended to be used with local proxies or similar setups. like, it's giving "I know what I'm doing" energy, so please actually know what you're doing πŸ’€

πŸ¦‹ SEE ALSO πŸ¦‹

  • imapgoose(1)
  • notmuch(1)
  • hiq(1)
  • pass(1)

the scfg(5) format specification lives here, go be educated bestie: https://git.sr.ht/~emersion/scfg/tree/master/item/scfg.5.scd


πŸ‘‘ AUTHORS πŸ‘‘

Hugo Osvaldo Barrera <hugo@whynothugo.nl> β€” thank you for your service πŸ«‘πŸ’–


mwah πŸ’‹ this page came from the Debian girlies and it's dated 2025-10-25 β€” that's the source, the version, and the date, all wrapped up with a bow πŸŽ€ see you in the group chat, bestie πŸ¦‹βœ¨

πŸ“¦ where this page comes from