projects
/
mymail.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Started to think about using the Message-id:.
[mymail.git]
/
mymail.1
diff --git
a/mymail.1
b/mymail.1
index
62d6def
..
6a957ad
100644
(file)
--- a/
mymail.1
+++ b/
mymail.1
@@
-1,4
+1,4
@@
-.TH "MYMAIL" "0.9.
1" "February
2013" "Francois Fleuret" "User Commands"
+.TH "MYMAIL" "0.9.
9" "June
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
\" This man page was written by Francois Fleuret <francois@fleuret.org>
\" and is distributed under a Creative Commons Attribution-Share Alike
@@
-10,16
+10,15
@@
mymail \- A simple command line utility for indexing and searching mbox files
.SH "SYNOPSIS"
.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"
.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
.SH "OPTIONS"
.TP
@@
-32,6
+31,10
@@
print the version number
\fB-q\fR, \fB--quiet\fR
do not write information during the search
.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-p <db filename pattern>\fR, \fB--db-pattern <db filename pattern>\fR
set the db filename pattern for recursive search
.TP
@@
-41,10
+44,14
@@
set the db root path for recursive search
\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-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
\fB-s <search pattern>\fR, \fB--search <search pattern>\fR
-search for matching mails in the db file
+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
.TP
-\fB-d <db filename>\fR, \fB--db-file <db filename>\fR
+\fB-d <db filename>\fR, \fB--db-file
-output
<db filename>\fR
set the db filename for indexing
.TP
\fB-i\fR, \fB--index\fR
set the db filename for indexing
.TP
\fB-i\fR, \fB--index\fR
@@
-52,7
+59,15
@@
index mails in the mailboxes located recursively anywhere in the
directories following the options on the command lines
.TP
\fB-o <output filename>\fR, \fB--output <output filename>\fR
directories following the options on the command lines
.TP
\fB-o <output filename>\fR, \fB--output <output filename>\fR
-set the db filename pattern for recursive search
+set the result mbox filename. If it is not set, the standard output is
+used
+.TP
+\fB-n <max number of mails>\fR, \fB--nb-mails-max <max number of mails>\fR
+set the maximum number of mails to extract (default is 250)
+.TP
+\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 "ENVIRONMENT VARIABLES"
@@
-67,73
+82,114
@@
defaut value for the --db-root argument
defaut value for the --db-list argument
.TP
\fBMYMAIL_DB_FILE\fR
defaut value for the --db-list argument
.TP
\fBMYMAIL_DB_FILE\fR
-defaut value for the --db-file argument
+defaut value for the --db-file-output argument
+.TP
+\fBMYMAILRC \fR
+configuration file, default is ${HOME}/.mymailrc
-.SH "SEARCH
SYNTAX
"
+.SH "SEARCH
CONDITIONS
"
-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.
+A search condition is either a time-related condition
+('today', 'yesterday', etc.), or a single-character key, followed by a
+space and a regexp, which can itself contain spaces.
+
+If it is prefaced by the character "!", a condition is negated and has
+to be false for a mail to be selected.
.TP
.TP
-\fBf <regexp>\fR (from) selects mails whose leading line From, or
-fields From:, or Reply-To: matches the regexp.
-.TP
-\fBt <regexp>\fR (to) selects mails whose field To:, Cc:, or Bcc: 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
.TP
-\fB
p <regexp>\fR (participant) selects mails whose leading line From,
-
or fields From:, Reply-To:,
To:, Cc:, or Bcc: matches the regexp.
+\fB
t <regexp>\fR (to)
+
selects mails whose field
To:, Cc:, or Bcc: matches the regexp.
.TP
.TP
-\fBs <regexp>\fR (subject) selects mails whose field Subject: matches the regexp.
+\fBp <regexp>\fR (participant)
+selects mails that would be selected by \fBf\fR or \fBt\fR.
.TP
.TP
-\fBd <regexp>\fR (date) selects mails whose field Date: matches the regexp.
+\fBs <regexp>\fR (subject)
+selects mails whose field Subject: matches the regexp.
.TP
.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.
+\fBd <regexp>\fR (date)
+selects mails whose field Date: matches the regexp.
.TP
.TP
-\fB8h\fR selects mails received during the last 8 hours.
+\fBb <regexp>\fR (body)
+
+selects mails whose body matches the regexp. Evaluating such a
+condition requires to read the full mail from the original mboxes,
+which can be slow. To speed things up, all the header conditions are
+checked first.
.TP
.TP
-\fBtoday\fR, \fB24h\fR selects mails received during the last 24 hours.
+\fB8h\fR, \fB24h\fR, \fB48h\fR, \fBweek\fR, \fBmonth\fR, \fBtrimester\fR, and \fByear\fR
+
+select mails received during the last 8, 24, 48, 7 * 24 hours, 31 *
+24 hours, 92 * 24 hours, and 365 * 24 hours respectively.
.TP
.TP
-\fBweek\fR selects mails received during the last 7*24 hours.
+\fBtoday\fR
+
+selects mails received since midnight.
.TP
.TP
-\fByesterday\fR selects mails received between 48h and 24h ago.
+\fByesterday\fR
+selects mails received yesterday.
.TP
.TP
-\fBmonday\fR, \fBtuesday\fR, ..., \fBsunday\fR
selects mails received
-the most recent such day
+\fBmonday\fR, \fBtuesday\fR, ..., \fBsunday\fR
+select mails received the most recent such day of the week.
.SH "EXAMPLES"
.SH "EXAMPLES"
-To index all the mbox files present in the directories
+The command
+
+.P
+.nf
+.B mymail --db-file-output /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
~/archives/mails/2010 and ~/archives/mails/2011 (recursively) and
-create a database file /tmp/mymail/2010-2011/mymail.db
+create an index file /tmp/mymail/2010-2011/mymail.db
+
+And
+
+.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'
-.
RS
-.EX
-mymail --db-file /tmp/mymail/2010-2011/mymail.db --index ~/archives/mails/2010 ~/archives/mails/2011
-.EE
-.RE
+.
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
+days, and create an mbox file /tmp/mymail/mbox.
-To 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, and create a result mbox
-file /tmp/mymail/mbox
+.SH "FILES"
-.RS
-.EX
-mymail --db-pattern '\\.db$' --db-root /tmp/mymail --search 'p bob.something' --search '!s spam' > /tmp/mymail.mbox
-.EE
-.RE
+The configuration file is by default ${HOME}/.mymailrc and can also be
+specified through the MYMAILRC environment variable.
+
+It allows to define aliases of search keys, such as:
+
+.P
+.nf
+.B alias tod=today
.SH "BUGS"
The search in the mail bodies does not decode mimencoding mails, hence
will not catch patterns in encoded text.
.SH "BUGS"
The search in the mail bodies does not decode mimencoding mails, hence
will not catch patterns in encoded text.
+The mbox format is not clear for multipart messages, since the 'From'
+may not always be quoted properly, so mymail uses a strict regexp to
+recognize such lines.
+
+The date format for the Date: field is not standardized, and may not
+be parsed properly. When that happens, the time stamp from the
+leading 'From' line of the mail, which has a canonical form, is used.
+
.SH "AUTHOR"
Written by Francois Fleuret <francois@fleuret.org> and distributed
.SH "AUTHOR"
Written by Francois Fleuret <francois@fleuret.org> and distributed