DELIVER(8)

πŸ’Œ DELIVER(8) β€” Cyrus IMAP πŸ’Œ

okay bestie, welcome to deliver, part of the Cyrus IMAP documentation fam. this one's a lil intro to the whole deliver situation, so grab a boba and let's get into it πŸ§‹βœ¨


🌸 SYNOPSIS 🌸

deliver [ -C config-file ] [ -d ] [ -r address ]
       [ -f address ] [ -m mailbox ] [ -a auth-id ]
       [ -q ] [ userid ]...
deliver [ -C config-file ] -l

two whole modes, pick your fighter πŸ’…


✨ DESCRIPTION ✨

so deliver does the thing: it reads a message off standard input and drops it into one or more IMAP mailboxes. that's the whole vibe. mail goes in, mail comes out, nobody gets hurt πŸ¦‹

and it's a good listener, fr fr β€” it pulls its configuration options out of the imapd.conf(5) file, unless you tell it otherwise with -C. no cap.


πŸ‘‘ OPTIONS πŸ‘‘

  • -C config-file β€” bestie, use this config-file instead of the default imapd.conf(5). your config, your rules ✨
  • -d β€” literally ignored. it's just here for compatibility with /bin/mail. it's giving "i'm just here so i don't get fined" πŸ’€
  • -r address, --return-path=address β€” pops a Return-Path: header in there containing address πŸŽ€
  • -f address β€” same energy, same slay: inserts a Return-Path: header containing address.
  • -m mailbox, --mailbox=mailbox β€” deliver to mailbox. here's the tea tho:
    • if any userids are specified, it tries to deliver to user.userid.mailbox for each userid. but if the ACL on any such mailbox does not grant the sender the "p" right, or if -m wasn't specified at all, then it delivers to the INBOX for the userid β€” regardless of the ACL on the INBOX. yeah, the INBOX has no gatekeeper, iconic behavior tbh πŸ’…
    • if no userids are specified, it tries to deliver to mailbox. and if the ACL on mailbox doesn't grant the sender the "p" right? the delivery fails. periodt. 😭
  • -a auth-id, --auth-id=auth-id β€” specify the authorization id of the sender. defaults to "anonymous" because mystery is a lifestyle πŸ•΅οΈβ€β™€οΈ
  • -q, --ignore-quota β€” deliver the message even when the receiving mailbox is over quota. rules are fake, quotas are fake, mail must flow πŸ”₯
  • -l, --lmtp β€” accept messages using the LMTP protocol. fancy protocol moment ✨

πŸ“ NOTES πŸ“

this part is important so listen up, bestie 🫢

depending on the setting of reject8bit in imapd.conf(5), deliver either rejects or accepts messages with 8-bit-set characters in the headers. and if we do accept messages with 8-bit-set characters in the headers, then depending on the setting of munge8bit, those characters are either left un-touched or changed to "X". yeah. just an X. mysterious. πŸ’€

why tho? because such characters can't be interpreted since the character set is not known β€” even though some communities that aren't well-served by US-ASCII assume those characters can be used to represent characters that aren't present in US-ASCII. it's giving wishful thinking, ngl πŸ™ˆ

good news tho: a method for encoding 8-bit-set characters is provided by RFC 2047. so there's a whole correct way to do this, bestie 🌈


πŸ’– EXAMPLES πŸ’–

[NB: Examples needed]

yeah. the examples section is empty. not me pointing at the void πŸ‘€ (that's literally what the page says, i don't make the rules)


πŸ“ FILES πŸ“

  • /etc/imapd.conf

πŸ” SEE ALSO πŸ”

  • lmtpd(8) β€” go say hi to the LMTP daemon, it's the sibling πŸ‘‘

✍️ AUTHOR ✍️

the legends themselves: The Cyrus Team, and Nic Bernstein (Onlight) 🫢


1993–2026, The Cyrus Team β€” a whole legacy, fr fr πŸ‘‘


and that's the whole page, bestie!! πŸŽ€ this was DELIVER(8) from Cyrus IMAP, version 3.12.4, dated Sep 09, 2026. go forth and deliver your mail with main character energy πŸ’Œβœ¨ mwah πŸ’…

πŸ“¦ where this page comes from