All Projects → aligrudi → neatmail

aligrudi / neatmail

Licence: other
A text-mode mail client

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to neatmail

mail-deduplicate
📧 CLI to deduplicate mails from mail boxes.
Stars: ✭ 134 (+482.61%)
Mutual labels:  mbox
mbox-to-csv
Python script for converting MBOX files to CSV.
Stars: ✭ 75 (+226.09%)
Mutual labels:  mbox
removedupes
Remove Duplicate Messages
Stars: ✭ 52 (+126.09%)
Mutual labels:  mail-client
himalaya
Command-line interface for email management
Stars: ✭ 1,715 (+7356.52%)
Mutual labels:  mail-client
dawebmail
Application for Zimbra Email Service
Stars: ✭ 24 (+4.35%)
Mutual labels:  mail-client
Neomutt
✉️ Teaching an Old Dog New Tricks -- IRC: #neomutt on irc.libera.chat
Stars: ✭ 2,343 (+10086.96%)
Mutual labels:  mbox
node-mbox
mbox file parser for Node.js
Stars: ✭ 64 (+178.26%)
Mutual labels:  mbox
verify-dkim
Tool to verify DKIM signatures on an mbox of emails
Stars: ✭ 70 (+204.35%)
Mutual labels:  mbox
NEATMAIL
========

Neatmail is a noninteractive mail client.  It generates a listing of
the messages in a mailbox in mbox format and executes a list of
ex-like commands on it.

Neatmail provides the following commands:

* mk: generate a listing of the mails in an mbox.
* ex: execute the specified commands on an mbox.
* pg: page a message in an mbox.
* ns: check for new messages among several mboxes.
* pn: prune an mbox (shorten messages).
* me: MIME-encode message headers.

The ex command reads a list of commands from the standard input and
executes them on a given mbox file.  It ignores all input lines except
those beginning with a colon or a capital letter.  Lines beginning
with a capital letter like "R100 ...", change the value of the status
header of the message whose number follows the letter.  It also marks
the current message.  Lines beginning with a colon are named commands.
The list of named commands are as follows:

* rm: remove the current message.
* cp: copy the current message to the given mbox.
* mv: move the current message to the given mbox.
* hd, set: change the value of the given header of the current message.
* ft, filt: filter the message through the given command.
* w: write the mbox.
* g, g!: ex-like global command.
* tj: join threads by modifying "Reply-To" headers.
* ch: chop the message at the specified offset in kilobytes.

These commands act on the current message by default (if applicable),
but different messages may be specified using ex-like addresses.  For
instance, "2,5rm" removes messages 2 through 5.  Addresses may contain
search statements, like "/pattern/rm", in which the pattern is a POSIX
extended regular expression (the same applies to global command
patterns like "%g/pattern/rm").  Search patterns are matched in the
subject field of message headers, except when the pattern is "^field:
value", in which it is matched against the specified header field
instead.

SUGGESTED USAGE
===============

Generate a message listing (see mk options):
$ neatmail mk -st -r inbox >inbox.nm

Open inbox.nm in an editor, change the status field of
messages, and append ex commands.

Page, reply, or forward messages (see pg options):
$ neatmail pg -b inbox -i 23 -m -h from: -h subject: -h to: -h cc: >mail

Execute the commands specified in inbox.nm:
$ (cat inbox.nm; echo ":w") | neatmail ex inbox

It is more convenient to place these commands in a script.

LARGE MBOXES
============

An mbox can gradually get very large, particularly because of messages
with large attachments.  This makes Neatmail commands slow.  To reduce
the size of such mboxes, I copy large messages to a separate mbox (:cp
ex command) and chop them (:chop ex command).  When I need one of
these messages, I use the chopped message to obtain its message ID and
use that to page the original message in the other mbox.  This, of
course, I do in a script.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].