MAILINSPECT(1)

πŸ“¦ version 1.14, in nixos 26.05, nixpkgs unstable

πŸ’Œ MAILINSPECT(1): mailinspect πŸ’Œ

okay bestie, welcome to the MAILINSPECT(1) page β€” the manual name is right there, we’re doing this. πŸ’…

✨ NAME ✨

mailinspect β€” sort an mbox by category and pipe emails to a command. πŸ¦‹

πŸ’… SYNOPSIS πŸ’…

mailinspect [-zjiI] -c category FILE [-gG regex]...  [-s command] [-p
       style] [-o scoring]

mailinspect -V

🌸 DESCRIPTION 🌸

okay so mailinspect reads the single mbox folder named FILE and sorts it by similarity to category. That category has to be one that was already created by dbacl(1), no improvising. 🫢 It works as a command-line tool, or interactively when you give it the -I switch.

When it’s in command-line mode, mailinspect prints the sorted list of emails on STDOUT. Each line is a seek position for that email inside FILE, followed by the score and a description string in one of several styles chosen via the -p option.

When you supply a command string with the -s option, mailinspect spawns a shell and executes command for every email in FILE β€” possibly selected via -g or -G β€” in sorted order. It’s giving formail(1) energy, except formail(1) doesn’t order the emails. periodt.

In interactive mode, all the command-line functionality is available through keypresses. The sorted list of emails is displayed in a scrollable format, and you can view, search, tag, resort, and send them to shell commands. Predefined shell commands can be associated with function keys. See the usage section below. ✨

Sorting heuristics are currently (and may always be) experimental, so there’s no guarantee that the orderings are particularly well suited for anything. lowkey important.

πŸ’€ EXIT STATUS πŸ’€

mailinspect returns 1 on success, and 0 if some error occurred.

Yes, bestie, that’s what the page says β€” success is 1, error is 0. Don’t shoot the messenger. πŸ™ˆ

✨ OPTIONS ✨

  • -c β€” Use category to compute the scores and sort the emails. This should be the file name of a dbacl(1) category.
  • -g β€” Only emails matching the regular expression regex are sorted. All other emails are ignored. When several -g and -G options are present on the command line, earlier regular expressions are overridden by later ones where applicable. πŸŽ€
  • -i β€” Force internationalized mode. 🌈
  • -j β€” Force regular expression searches to be case sensitive. πŸ‘‘
  • -o β€” Determines the scoring formula to be used. The parameter scoring must be an integer greater than or equal to zero. By default, scoring equals zero. πŸ”₯
  • -p β€” Prints the email index in the given style. The parameter style must be an integer greater than or equal to zero. By default, style equals zero. πŸ’…
  • -s β€” For each email in the list, execute the shell command, with the email body on STDIN. Emails are processed in sorted order. 🫢
  • -z β€” Reverse sort order. Normally, emails are sorted in order of closest to furthest relative to category, but in this case, the opposite is true. πŸ”„
  • -I β€” Interactive mode. Instead of printing the sorted list of emails on STDOUT, emails are displayed and can be scrolled, viewed, searched, and piped interactively at the terminal. 🌸
  • -G β€” Only emails not matching the regular expression regex are sorted. Opposite of the -g switch. πŸ™…β€β™€οΈ
  • -V β€” Print the program version number and exit. ⭐

πŸ¦‹ USAGE πŸ¦‹

mailinspect needs to read a prelearned category before it can sort the emails in FILE. See dbacl(1). no cap.

Suppose you have two mail folders named good.mbox and bad.mbox respectively. You can create appropriate categories by typing the commands

% dbacl -l good good.mbox -T email
% dbacl -l bad bad.mbox -T email

Next, you can type the following command to view interactively the bad.mbox file with the emails whose score is closest to the category good listed first:

% mailinspect -I -c good bad.mbox

Alternatively, you might be interested only in the five emails in the folder bad.mbox whose score marks them as the furthest away from the category bad, completely independently from any other category such as good (ie you want outliers in the scoring sense).

% mailinspect -z -c bad bad.mbox | head -5

In interactive mode, the following keys are defined:

  • o β€” toggles another scoring formula.
  • p β€” toggles another display style.
  • q β€” exits mailinspect.
  • s β€” sends the currently highlighted email to a shell command.
  • S β€” sends all currently tagged emails to a shell command, in sorted order. Every email executes the shell command independently.
  • t β€” tags the currently highlighted email.
  • T β€” tags all listed emails.
  • v β€” sends the currently highlighted email to $PAGER for viewing. If the environment variable PAGER is not defined, sends the email to less(1).
  • u β€” untags the highlighted email.
  • U β€” untags all listed emails.
  • z β€” reverses the sort order of displayed emails.
  • / β€” searches for a regular expression (see regex(7)) anywhere within the contents of all listed emails. Hides all emails which don’t match.
  • ? β€” like /, but hides all emails which match, keeping all those which don’t match.

As a convenience, the function keys F1-F10 can each be associated with a shell command string. In this case, typing a function key has the same effect as the S key, but the command is already typed and ready to be edited/accepted. The function key associations are read from the configuration file .mailinspectrc if it exits. (sic β€” that’s what the page says, bestie 😭)

πŸŽ€ FILES πŸŽ€

  • $HOME/.mailinspectrc β€” mailinspect reads the file .mailinspectrc in the $HOME directory, if it exists. This is a plain text file which contains entries of the form
# this is a comment
F2 cat >> interesting.mbox
F5 mail zarniwoop@megadodo.com

🌈 ENVIRONMENT 🌈

  • DBACL_PATH β€” When this variable is set, its value is prepended to every category filename which doesn’t start with a '/'. πŸ’–

πŸ”₯ SOURCE πŸ”₯

The source code for the latest version of this program is available at the following locations:

πŸ‘‘ AUTHOR πŸ‘‘

Laird A. Breyer <laird@lbreyer.com> πŸ’œ

🌟 SEE ALSO 🌟

bayesol(1), dbacl(1), less(1), mailcross(1), regex(7) β€” go read those too, bestie. 🫢

✨ That’s the whole page! This is Version 1.14 from the Bayesian Text Classification Tools crew β€” now go sort some mbox vibes and slay. πŸ’–πŸŽ€πŸ¦‹
πŸ“¦ where this page comes from