about summary refs log tree commit diff
BUBGER(1) General Commands Manual BUBGER(1)

bubgerIMAP archive generator

bubger [-iqv] [-A entries] [-C path] [-H head] [-S file] [-T title] [-a algo] [-h host] [-m addr] [-p port] [-s url] [-u base] [-w file] [-y css] user [mailbox]

The bubger utility renders an HTML, Atom and mboxrd archive of an IMAP mailbox arranged into threads. It requires the IMAP THREAD extension. Partial output is cached and reused by subsequent runs. The list of updated paths is written to standard output.

The arguments are as follows:

entries
Limit the number of entries in search Atom feeds. The default limit is 20. Thread Atom feeds always contain all entries.
path
Change directory to path before reading and writing files.
head
Append the contents of the file head to the element of HTML pages.
file
Read search definitions from file. Search definitions are documented in FILES.
title
Set the base title for search HTML pages and Atom feeds. The default title is the mailbox name.
algo
Set the threading algorithm to one of or REFERENCES. The default algorithm is REFERENCES.
host
Connect to IMAP on host. The default host is determined by SRV record lookup on the domain name of user.
Continually wait for new messages in the mailbox using IMAP IDLE. Writes to UIDNEXT indicate that the rendered archive has been updated.
addr
Add a “write” mailto link of addr to search page navigation.
port
Connect to IMAP on port. The default port is (993). TLS without STARTTLS is assumed.
Suppress output of updated paths and exit non-zero if the mailbox has not changed.
url
Add a “subscribe” link of url to search page navigation.
base
Set the base URL for links in Atom feeds.
Log IMAP protocol to standard error.
file
Read the IMAP password from file. By default the password is set by the BUBGER_IMAP_PASSWORD environment variable.
css
Use the stylesheet URL css. The default is an inline stylesheet.
user
Log in to IMAP as user.
mailbox
Render threads from mailbox. The default mailbox is "Archive".

The IMAP password.

*.atom, *.html
Rendered Atom feeds and HTML pages for each search.
thread/*.atom, thread/*.html, thread/*.mbox
Rendered Atom, HTML and mboxrd files for each thread.
attachment/*/*/*.*
Attached files.
message/*.mbox
Rendered mboxrd files for each message.
UID/*.atom, UID/*.html, UID/*.mbox
Cached Atom, HTML and mboxrd fragments for each message.
UIDNEXT
Stores the next UID of the mailbox. Remove this file to force re-render the search pages and feeds.
UIDVALIDITY
Stores the mailbox UID validity.
SEARCH
The default path to read search definitions from.

Each line of the SEARCH file defines a search for which an Atom feed and an HTML page will be generated. Blank lines and lines beginning with ‘#’ are ignored. Each line consists of a search name and an IMAP search expression, separated by whitespace. If no index search is defined, the following default is used:

index	ALL

Create or update an archive and copy new or updated files to a remote host:

bubger -C archive list@example.org |
rsync -a --files-from=- archive example.org:public_html/archive

Example SEARCH definitions:

announce	SUBJECT "[ANNOUNCE]"
bubger		TO "list+bubger@causal.agency"

June McEnroe <june@causal.agency>

Send mail to <list+bubger@causal.agency>.

June 11, 2021 OpenBSD 7.4