X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=mymail.git;a=blobdiff_plain;f=mymail.1;h=09fa3248f2d4a42e33e6aec5b6f597a9466cae72;hp=adfe684f0c4277d6cf5e2893e6d5af1d99c85c1c;hb=HEAD;hpb=6bbb61e4cab435504f1ad5928d13a7efa9f99d64 diff --git a/mymail.1 b/mymail.1 index adfe684..09fa324 100644 --- 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.10" "July 2014" "Francois Fleuret" "User Commands" \" This man page was written by Francois Fleuret \" 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" -\fBmymail\fP [\fIoptions\fR] [\fI\fR [\fI\fR ... ]|\fI\fR [\fI\fR ... ]]\n"); +\fBmymail\fP [\fIoptions\fR] [\fI\fR [\fI\fR ... ]|\fI\fR [\fI\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 @@ -32,6 +31,14 @@ print the version number \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-f\fR, \fB--do-not-discard-mails-from-the-future\fR +keep mails with a date (more than 24h) in the future, which are +discarded by default +.TP \fB-p \fR, \fB--db-pattern \fR set the db filename pattern for recursive search .TP @@ -41,10 +48,14 @@ set the db root path for recursive search \fB-l \fR, \fB--db-list \fR set the semicolon-separated list of db files for search .TP +\fB-m \fR, \fB--mbox-pattern \fR +set the mbox filename pattern for recursive search +.TP \fB-s \fR, \fB--search \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 -\fB-d \fR, \fB--db-file \fR +\fB-d \fR, \fB--db-file-output \fR set the db filename for indexing .TP \fB-i\fR, \fB--index\fR @@ -52,11 +63,15 @@ index mails in the mailboxes located recursively anywhere in the directories following the options on the command lines .TP \fB-o \fR, \fB--output \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-a \fR, \fB--default-search \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-n \fR, \fB--nb-mails-max \fR +set the maximum number of mails to extract (default is 250) +.TP +\fB-a \fR, \fB--default-search \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" @@ -71,81 +86,112 @@ defaut value for the --db-root argument 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 CONDITIONS" -.SH "SEARCH SYNTAX" +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. -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. +If it is prefaced by the character "!", a condition is negated and has +to be false for a mail to be selected. .TP -\fBf \fR (from) selects mails whose leading line From, or -fields From:, or Reply-To: matches the regexp. +\fBf \fR (from) +selects mails whose leading line 'From', or fields From:, Sender:, +Reply-To:, or Return-Path: matches the regexp. .TP -\fBt \fR (to) selects mails whose field To:, Cc:, or Bcc: matches the regexp. +\fBt \fR (to) +selects mails whose field To:, Cc:, or Bcc: matches the regexp. .TP -\fBp \fR (participant) selects mails whose leading line From, -or fields From:, Reply-To:, To:, Cc:, or Bcc: matches the regexp. +\fBp \fR (participant) +selects mails that would be selected by \fBf\fR or \fBt\fR. .TP -\fBs \fR (subject) selects mails whose field Subject: matches the regexp. +\fBs \fR (subject) +selects mails whose field Subject: matches the regexp. .TP -\fBd \fR (date) selects mails whose field Date: matches the regexp. +\fBd \fR (date) +selects mails whose field Date: matches the regexp. .TP -\fBb \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 \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 -\fB8h\fR selects mails received during the last 8 hours. +\fB1h\fR, \fB2h\fR, \fB4h\fR, \fB8h\fR, \fB24h\fR, \fB48h\fR, \fBweek\fR, \fB2weeks\fR, \fBmonth\fR, \fBtrimester\fR, \fBsemester\fR, and \fByear\fR +select mails received during the last +1, 2, 4, 8, 24, 48, 7 * 24 hours, 14 * 24 hours, 31 * 24 hours, 92 * +24 hours, 185 * 24 hours, and 365 * 24 hours respectively. .TP -\fBtoday\fR, \fB24h\fR, \fBweek\fR, and \fBmonth\fR selects mails received during the last 24, 7 * 24 hours or 31 * 24 hours. +\fBtoday\fR +selects mails received since midnight. .TP -\fByesterday\fR selects mails received between 48h and 24h ago. +\fByesterday\fR +selects mails received yesterday. .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" 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-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 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 days, and create an mbox file /tmp/mymail/mbox. +.SH "FILES" + +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. +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 and distributed