-.TH "MYMAIL" "0.9.2" "February 2013" "Francois Fleuret" "User Commands"
+.TH "MYMAIL" "0.9.5" "February 2013" "Francois Fleuret" "User Commands"
\" This man page was written by Francois Fleuret <francois@fleuret.org>
\" and is distributed under a Creative Commons Attribution-Share Alike
.SH "SYNOPSIS"
-\fBmymail\fP [\fIoptions\fR] [\fI<mbox dir1>\fR [\fI<mbox dir2>\fR ... ]|\fI<db file1>\fR [\fI<db file2>\fR ... ]]\n");
+\fBmymail\fP [\fIoptions\fR] [\fI<mbox dir1>\fR [\fI<mbox dir2>\fR ... ]|\fI<db file1>\fR [\fI<db file2>\fR ... ]]
.SH "DESCRIPTION"
-\fBmymail\fP is a command line utility to index mbox files and perform
-quick searches based on sender, subject, etc.
+\fBmymail\fP is a command line utility to index mbox files, search for
+mails based on sender, subject, etc. and generate result mbox files.
-It is similar in spirit to other existing software such as mu or
-notmuch, but does not use a real database backend to store and query
-the index.
+It is similar in spirit to other tools such as mu or notmuch, but is
+overall simpler.
.SH "OPTIONS"
.TP
\fB-q\fR, \fB--quiet\fR
do not write information during the search
.TP
+\fB-t\fR, \fB--use-leading-time\fR
+use the time stamp from the leading line of each mail and not the
+Date: field
+.TP
\fB-p <db filename pattern>\fR, \fB--db-pattern <db filename pattern>\fR
set the db filename pattern for recursive search
.TP
\fB-l <db filename list>\fR, \fB--db-list <db filename list>\fR
set the semicolon-separated list of db files for search
.TP
+\fB-m <mbox filename pattern>\fR, \fB--mbox-pattern <mbox filename pattern>\fR
+set the mbox filename pattern for recursive search
+.TP
\fB-s <search pattern>\fR, \fB--search <search pattern>\fR search for
matching mails in the db file. Multiple search requests can be
combined, and only mails fulfilling all of them will be extracted.
.TP
-\fB-d <db filename>\fR, \fB--db-file <db filename>\fR
+\fB-d <db filename>\fR, \fB--db-file-generate <db filename>\fR
set the db filename for indexing
.TP
\fB-i\fR, \fB--index\fR
\fB-o <output filename>\fR, \fB--output <output filename>\fR set the
result mbox filename. If it is not set, the standard output is used
.TP
-\fB-a <search field>\fR, \fB--default-search <search field>\fR
-set the default search field: If a search request is not understood,
-it is interpreted as the regexp with this default search field
+\fB-a <search key>\fR, \fB--default-search <search key>\fR
+set the default search key. If a search request is not understood,
+it is interpreted as the regexp with this default search key
.SH "ENVIRONMENT VARIABLES"
.SH "SEARCH SYNTAX"
-The search conditions take the form of a single letter followed by a
-space and a regexp, which can itself contain spaces. If the condition
-is prefaced by the character "!" it is negated, and has to be false
-for a mail to be selected.
+The search conditions take the form of a key which is a single letter,
+followed by a space and a regexp, which can itself contain spaces. If
+the condition is prefaced by the character "!" it is negated, and has
+to be false for a mail to be selected.
+
+The time-based conditions use as reference the time indicated in the
+heading From line, and not in the Date: field.
.TP
-\fBf <regexp>\fR (from) selects mails whose leading line From, or
-fields From:, Sender:, Reply-To:, or Return-Path: matches the regexp.
+\fBf <regexp>\fR (from)
+selects mails whose leading line From, or fields From:, Sender:,
+Reply-To:, or Return-Path: matches the regexp.
.TP
-\fBt <regexp>\fR (to) selects mails whose field To:, Cc:, or Bcc: matches the regexp.
+\fBt <regexp>\fR (to)
+selects mails whose field To:, Cc:, or Bcc: matches the regexp.
.TP
-\fBp <regexp>\fR (participant) selects mails that would be selected by \fBf\fR or \fBt\fR.
+\fBp <regexp>\fR (participant)
+selects mails that would be selected by \fBf\fR or \fBt\fR.
.TP
-\fBs <regexp>\fR (subject) selects mails whose field Subject: matches the regexp.
+\fBs <regexp>\fR (subject)
+selects mails whose field Subject: matches the regexp.
.TP
-\fBd <regexp>\fR (date) selects mails whose field Date: matches the regexp.
+\fBd <regexp>\fR (date)
+selects mails whose field Date: matches the regexp.
.TP
-\fBb <regexp>\fR (body) selects mails whose body matches the
-regexp. Evaluatin such a condition requires to read the original
-mboxes completely, which can be slow. However, header conditions are
-checked first to read the bodies only for mails which fulfill them
-entirely.
+\fBb <regexp>\fR (body)
+selects mails whose body matches the regexp. Evaluating such a
+condition requires to read the original mboxes completely, which can
+be slow. However, header conditions are checked first to read the
+bodies only for mails which fulfill them entirely.
.TP
-\fB8h\fR, \fBtoday\fR, \fB24h\fR, \fBweek\fR, \fBmonth\fR, and
-\fByear\fR selects mails received during the last 8, 24, 24, 7 * 24
-hours, 31 * 24 hours, and 365 * 24 hours respectively.
+\fB8h\fR, \fBtoday\fR, \fB24h\fR, \fB48h\fR, \fBweek\fR, \fBmonth\fR, and
+\fByear\fR
+selects mails received during the last 8, 24, 24, 48, 7 * 24 hours, 31 *
+24 hours, and 365 * 24 hours respectively.
.TP
-\fByesterday\fR selects mails received between 48h and 24h ago.
+\fByesterday\fR
+selects mails received between 48h and 24h ago.
.TP
-\fBmonday\fR, \fBtuesday\fR, ..., \fBsunday\fR selects mails received
-the most recent such day
+\fBmonday\fR, \fBtuesday\fR, ..., \fBsunday\fR
+selects mails received the most recent such day of the week.
.SH "EXAMPLES"
The command
-.RS
-.EX
-mymail --db-file /tmp/mymail/2010-2011/mymail.db \\
- --index \\
- ~/archives/mails/2010 ~/archives/mails/2011
-.EE
-.RE
+.P
+.nf
+.B mymail --db-file /tmp/mymail/2010-2011/mymail.db \e
+.B \ \ \ \ \ \ \ --index \e
+.B \ \ \ \ \ \ \ ~/archives/mails/2010 ~/archives/mails/2011
+.fi
will index all the mbox files present in the directories
~/archives/mails/2010 and ~/archives/mails/2011 (recursively) and
create an index file /tmp/mymail/2010-2011/mymail.db
And
-.RS
-.EX
-mymail --db-pattern '\.db$' --db-root /tmp/mymail \\
- --output /tmp/mymail.mbox \\
- --search 'p bob.something' \\
- --search '!s spam' \\
- --search 'month'
-.EE
-.RE
+.P
+.nf
+.B mymail --db-pattern '\.db$' --db-root /tmp/mymail \e
+.B \ \ \ \ \ \ \ --output /tmp/mymail.mbox \e
+.B \ \ \ \ \ \ \ --search 'p bob.something' \e
+.B \ \ \ \ \ \ \ --search '!s spam' \e
+.B \ \ \ \ \ \ \ --search 'month'
+.fi
will search in all the database files *.db located (recursively) in
/tmp/mymail, for all the mails having "bob.something" as sender or
recipient, without "spam" in the subject, received over the last 31
will not catch patterns in encoded text.
The mbox format is not clear for multipart messages, since the ^"From
-" lines are not always quoted properly (at least the ones I have to
-test).
+" lines are not always quoted properly (at least the ones I use for
+testing).
.SH "AUTHOR"