commit d0d472ab170d09af75457f6d9fec8afbf2963674
parent c7ab2e2d075cbc3f1e3662fd29ec713b3af27a8f
Author: Jaromil <jaromil@dyne.org>
Date: Tue, 5 Jun 2012 10:02:52 +0200
much more manual documentation
Diffstat:
1 file changed, 504 insertions(+), 179 deletions(-)
diff --git a/doc/jaromail-manual.org b/doc/jaromail-manual.org
@@ -1,6 +1,6 @@
#+TITLE: Jaro Mail
#+AUTHOR: by Jaromil @ dyne.org
-#+DATE: 2010 - 2012
+#+DATE: June 2012
#+LaTeX_CLASS: article
#+LaTeX_CLASS_OPTIONS: [a4,onecolumn,portrait]
@@ -22,11 +22,13 @@ e-mail communication in a private and efficient way, without relying
too much on on-line services, in fact encouraging users to store their
email locally.
-
Rather than reinventing the wheel, this suite reuses existing free and
open source tools and protocols and is mainly targeted for
GNU/Linux/BSD desktop usage.
+This manual illustrates the usage of Jaro Mail. The newest version of
+this manual is made available on http://files.dyne.org/jaromail/jaromail-manual.pdf
+
** Features
+ Easy to deploy and use
@@ -42,214 +44,144 @@ GNU/Linux/BSD desktop usage.
+ Is Multi platform: GNU/Linux/BSD, Apple/OSX
+ Old school, used by its author for the past 10 years
-#+LATEX: \pagebreak
-
-* Diagram
-
-A little diagram that clarifies a bit where do we place the components
-and actions involved in managing one's email communication:
-
-[[file:jaromail-diagram.png]]
-
- + MUA = Mail User Agent
- + MTA = Mail Transport Agent
- + SMTP = Simple Mail Transport Protocol
- + IMAP = Internet Message Access Protocol
-
-
-#+LATEX: \pagebreak
-* Organization
+** Vision
-One of the main goals for Jaro Mail is to organize the mail flow so
-that one's attention is dedicated to important communications, rather
-than being constantly distracted by various degrees of spam and the
-need to weed it out of the mailbox. This ardous and ambitious task is
-pursued by realizing an integrated approach consisting of
-whitelisting, flexibility and a rather simple yet peculiar way to
-distinguish between mails from known people and the rest.
+The internet offers plenty of free services, on the wave of the Web2.0
+fuzz and the community boom, while all private informations are hosted
+on servers owned by global corporations and monopolies.
-** Folders
+It is important to keep in mind that no-one else better than you can
+ensure the privacy of your personal data. Server hosted services and
+web integrated technologies gather all data into huge information
+pools that are made available to established economical and cultural
+regimes.
-First lets start with a categorization of the standard maildirs and a
-brief description for each. The following maildirs are standard in
-Jaro Mail and are listed in order of priority:
+The vision behind this software is that of sharing a simple and
+consistent way to operate e-mail communication with tools that are
+available on most platforms and can be as well used remotely over a
+secure shell connection.
-| Folder | What goes in there |
-|----------------+--------------------------------------------------|
-| *known* | Mails whose sender is known (Whitelist) |
-| *priv* | Unknown sender, we are the explicit destination |
-| *unsorted* | Unknown sender, we are in cc: or somehow reached |
-| *ml.unsorted* | From a mailinglist that we haven't filtered yet |
-| *zz.blacklist* | Mails whose sender is not desired (Blacklist) |
+It also aims to facilitate the task of downloading and storing e-mail
+archives off-line in a way that they can be still accessible in more
+than 10 years time and independently of any software. Nowadays many
+users have the habit of keeping all their e-mails on servers,
+accessing them through an often clumsy web interface, while
+downloading them can free space and improve their privacy.
-The advantage using such a folder organization is that every time we
-open up the mail reader we will be presented with something we are
-likely to be most interested in (known people replying our mails) and
-progressively, as we will have the time to scroll through, mails from
-"new people" or mass mailings of sort. Please note this organization
-does not includes spam, which is supposedly weeded out on the server
-via spamlists: White/Blacklisting has more to do with our own
-selection of content sources than with the generic protection from
-random pieces of information.
-
-** Whitelist
-
-The way whitelisting works if quite crucial to this setup and, at the
-same time, is fairly simple since it does not include any automatic
-detection, learning filters, Markov chains or Bayesian A/I. We believe
-the user should be in full control of prioritizing communication
-channels and at the same time constantly able to tweak the setup in an
-easy way.
-
-To whitelist an address is sufficient to send it an e-mail: at the
-moment the message is sent Jaro Mail will remember the destination
-address and prioritize all messages coming back from it.
-This we call implicit whitelisting.
-
-There is also a way to explicitly whitelist an address: from inside
-the mail reader index (Mutt) press 'a' while selecting an email, this
-will add in the whitelist all addresses mentioned in To: and Cc:. To
-remove an address from the whitelist, press 'A' (shift-a) while
-selecting a mail and its sender (only the From: field) will lose the
-privilege of ending up in your known/ folder.
-
-There is one more privilege for people that have their address
-whitelisted: their name and e-mail will be completed automatically
-when composing a new email, pressing the 'Tab' key while indicating
-them among the recipients.
-
-The file where the whitelist is stored is in plain text format, you
-can even edit it with a normal editor and it is found in
-Mail/jaro/Whitelist.txt
+#+LATEX: \pagebreak
-** Blacklist
+* Diagram
-To blacklist an address instead one can use the 'z' key while an
-e-mail is selected on the index: the sender indicated in the From:
-field will be downgraded to the very bottom of your priorities, closes
-to spam than the rest, the most infamous zz.blacklist/ folder.
+A little diagram that clarifies a bit where do we place the components
+and actions involved in managing one's email communication:
-Similarly, to remove addresses from the blacklist the 'Z' (shift-z)
-key can be pressed and all addresses mentioned in the currently
-selected e-mail (including those in Cc:) will be redeemed, but not
-whitelisted unless you do it explicitly with 'a'.
+[[file:jaromail-diagram.png]]
-The blacklist file is also in plain text: Mail/jaro/Blacklist.txt
+ | Acronym | Function | Software |
+ |---------+----------------------+-----------|
+ | MUA | Mail User Agent | [[http://www.mutt.org][Mutt]] |
+ | MTA | Mail Transport Agent | [[http://www.fetchmail.info][Fetchmail]] |
+ | | Filtering Agent | [[http://www.procmail.org][Procmail]] |
+ | SMTP | Mail Delivery Agent | [[http://msmtp.sourceforge.net][MSmtp]] |
+ | | Addressbook | [[http://www.spinnaker.de/lbdb][Lbdb]] |
-** In Brief
+#+LATEX: \pagebreak
-Below a recapitulation of keys related to the white and blacklisting
-functionality, to be used in the e-mail index or when an e-mail is
-open inside the mail user agent:
+* Setup
-| List | Key | Function | Fields |
-|-------+-----------+----------------------------+-----------|
-| White | a | Add all addresses found | From: Cc: |
-| White | A (shift) | Remove sender address | From: |
-| Black | z | Add sender address | From: |
-| Black | Z (shift) | Remove all addresses found | From: Cc: |
+** Build
+ There are two *build-* scripts coming with the sourcecode of Jaro
+ Mail and they are both found in the *build/* subdirectory.
+ One is for building it on GNU/Linux systems, the other for
+ Apple/OSX.
+ A compiler and various dependencies are mandatory in order to build
+ this software. The version for GNU/Linux so far supports only
+ Debian systems and will use apt-get (requiring sudo access) to
+ install all needed packages.
+ Apple/OSX users that have no experience in building software can
+ obtain a pre-built universal binary from our download zone on
+ http://files.dyne.org/jaromail/binary
-* Components
-** Client side
+** Install
-To use Jaro Mail on your desktop client, you will require some
-programs. These programs are ready into the Apple/OSX package, but you
-will have to install them by yourself if you use GNU/Linux, preferably
-using your favourite package manager.
+ Installing Jaro Mail once all dependencies are build is fairly
+ easy: the *install.sh* script provided will create a working
+ environment in your *$HOME/Mail* directory or, if you like, you can
+ specify a different one as an argument:
- + [[http://www.mutt.org][Mutt]] Mail User Agent
- + [[http://www.fetchmail.info/][Fetchmail]] Mail Transport Agent
- + [[http://www.procmail.org/][Procmail]] Filtering Agent
- + [[http://freecode.com/projects/procmail-lib][Procmail-lib]] Advanced Filtering
- + [[http://msmtp.sourceforge.net/][MSmtp]] the mini SMTP
- + [[http://www.spinnaker.de/lbdb][Little Brother DB]] Addressbook
- + [[http://www.zsh.org/][Z Shell]] Our scripting language
+: $ cd jaromail
+: $ ./install.sh $HOME/Mail
-** Server side
+ Every installation of Jaro Mail is fully reentrant, meaning the
+ directory where it gets installed contains all maildirs,
+ configurations, filters, whitelist and other necessary files.
-The software below is not necessary if you like to use Jaro Mail with
-your E-Mail accounts, but it is what you need to install and configure
-on your web server if you like to provide E-Mail services to you and
-your friends and family. However, to describe the configuration and
-administration of a E-mail server is beyond the scope of this
-document.
+ Installing it in different directories a single user can have
+ multiple Jaro Mail installations to permit the complete separation
+ of E-Mail identities.
- + [[http://www.postfix.org][Postfix]] SMTP server
- + [[http://dovecot.org/][Dovecot]] IMAP server
+ If called from outside the installation directory, the *jaro*
+ command will use the default path *$HOME/Mail*. If one is using a
+ different installation path then should first change to that
+ directory and then use the command from inside it.
* Configuration
-** Build
-
- There are two *build-* scripts coming with the sourcecode of Jaro Mail
+** Receive mail
- One is for building it on GNU/Linux systems, the other on OSX
+ The place where Jaro Mail is installed ($HOME/Mail by default)
+ contains a *jaro* folder where all configuration files are found.
- A compiler and various dependencies are mandatory in order to
- build this software, please look into the scripts to find out
- more.
+ There, inside the directory *Accounts*, are some brief instructions
+ and some default templates which can be filled in with Imap or Pop
+ account configuration to fetch mail. A default template will be
+ found in fresh installations: *Accounts/imap.default.txt*. The
+ configuration can be edited with one's favourite text editor, the
+ format of the file is pretty self-explanatory.
+ It is possible to have more than one account and in fact when
+ retreiving e-mails using the *jaro fetch* command all accounts will
+ be processed, unless one is explicitly selected using the *-a*
+ commandline option.
-** Install
- Installing Jaro Mail once all dependencies are build is fairly
- easy: the *install.sh* script provided will create a working
- environment in your HOME/Mail directory or, if you like, you can
- specify an argument.
- Every installation of Jaro Mail is fully reentrant, meaning the
- directory where it is installed contains all necessary files to
- operate it on the system. Hence it is possible that a single user
- has multiple Jaro Mail installations, for instance to permit the
- complete separation of E-Mail identities.
-
-** Receive mail
+** Send mail
- The place where Jaro Mail is installed, that is the directory
- $HOME/Mail by default, contains a *jaro* folder where all
- configuration files are found.
+ Also inside the *jaro/Accounts* directory is found the
+ *smtp.default.txt* file that configures how to send mail.
- There, inside the directory *Accounts*, are some brief
- instructions and some default templates which can be filled in
- with Imap or Pop account configuration to fetch mail.
+ When no special account is specified using the *-a* option, then
+ the file named *smtp.default.txt* into the Accounts folder will be
+ used. To fix a selection it is also possible to use a symbolic
+ link.
There is also a file *jaro/Mutt.txt* that can be configured with
some customized settings for the mail transport agent, such as
- custom headers and the default GPG key to be used when signing and
- encrypting mails.
-
-** Send mail
-
-
- Also inside the *jaro/Accounts* directory are found the *smtp.*
- files that configure various sending accounts, it is possible to
- have more than one, just give the files different names.
-
- When no special account is specified using the *-a* option, then
- the accounts files named *.default* will be used. It is also
- possible to use symbolic links.
+ custom headers appearing in composed e-mails and the default GPG
+ key to be used when signing and encrypting them.
** Filter mail
- The file *jaro/Filters.txt* is pretty easy and self explanatory,
- yet it is a powerful way to configure mailinglist filters that
- will be applied to all mails that are fetched locally.
+ The file *jaro/Filters.txt* can be edited to configure mailinglist
+ and other filters referencing the contents of the *From:* or *To:*
+ fields of each e-mail that is fetched.
+
+ The format of the filters configurarion is pretty easy and self
+ explanatory, those rules will be applied to mails saved on the
+ local filesystem in maildirs that will be created when needed.
- After editing that file it is necessary to run *jaro update* so
- that Jaro Mail will generate all the procmail, mutt and sieve
- rules out of those. An update is issued automatically every time
- *jaro fetch* is called.
** Examples
-*** imap.default
+*** Accounts/imap.default
#+BEGIN_EXAMPLE
# Name and values are separated by spaces or tabs
@@ -291,7 +223,7 @@ options keep
# folders INBOX, known, priv, lists, ml.unsorted, unsorted
#+END_EXAMPLE
-*** smtp.default
+*** Accounts/smtp.default
#+BEGIN_EXAMPLE
# Name and values are separated by spaces or tabs
@@ -324,21 +256,23 @@ port 25
# below some commented out examples, note the use of a prefix,
# which makes it handy when browsing with file completion.
-# to crypto@lists.dyne save dyne.crypto
-# to dynebolic save dyne.dynebolic
-# to freej save dyne.freej
-# to frei0r-devel save dyne.frei0r
-# to taccuino save ml.freaknet
-# to deadpoets save ml.freaknet
-# to linux-libre save gnu.linux-libre
-# to foundations@lists save gnu.foundations
-# to debian-mentors save debian.mentors
-# to debian-blends save debian.blends
-# to freedombox-discuss save debian.freedombox
+# Field String match Folder in Mail/
+to crypto@lists.dyne save dyne.crypto
+to dynebolic save dyne.dynebolic
+to freej save dyne.freej
+to frei0r-devel save dyne.frei0r
+to taccuino save ml.freaknet
+to deadpoets save ml.freaknet
+to linux-libre save gnu.linux-libre
+to foundations@lists save gnu.foundations
+to debian-mentors save debian.mentors
+to debian-blends save debian.blends
+to freedombox-discuss save debian.freedombox
# Other filters for web 2.0 using folder names with a prefix:
# they can facilitate folder maintainance.
+# Field String match Folder in Mail/
from identi.ca save web.identica
from Twitter save web.twitter
from linkedin save web.linkedin
@@ -350,10 +284,9 @@ from academia.edu save web.academia
-* Flow of operation
+* Workflow
-This section goes through a scenario of typical daily usage of Jaro
-Mail
+This section goes through a scenario of simple usage for Jaro Mail
** Fetch and read your mail at home
@@ -378,6 +311,7 @@ From there on, pressing *=* or *c* you can change the folder and
explore your *priv* folder, the mailinglist ones as configured by your
Filters.txt, as well your *unsorted* mails.
+
** Write a new mail
If you like to write a mail to someone, just write his/her own address
@@ -406,6 +340,7 @@ This functionality can be also very useful if you are from a slow
connection and need to delete some email that is clogging your mailbox
and that you are not able to download because of its size.
+
** Send emails whenever possible
All the time you write an E-mail, Jaro Mail will save it into your
@@ -419,3 +354,393 @@ to write emails and eventually bring them around for sending them
whenever possible.
+
+* Organization
+
+One of the main goals for Jaro Mail is to organize the e-mail workflow
+so that one's attention is dedicated to important communications,
+rather than being constantly distracted by various degrees of spam and
+the need to weed it out of the mailbox. This ambitious task is pursued
+by realizing an integrated approach consisting of flexible
+whitelisting and the distinction between mails from known people and
+the rest.
+
+** Folders
+
+First lets start with a categorization of the standard maildirs and a
+brief description for each. The following maildirs are standard in
+Jaro Mail and are listed in order of priority:
+
+| Folder | What goes in there |
+|----------------+--------------------------------------------------|
+| *known* | Mails whose sender is known (Whitelist) |
+| *priv* | Unknown sender, we are the explicit destination |
+| *unsorted* | Unknown sender, we are in cc: or somehow reached |
+| *ml.unsorted* | From a mailinglist that we haven't filtered yet |
+| *zz.blacklist* | Mails whose sender is not desired (Blacklist) |
+
+The advantage using such a folder organization is that every time we
+open up the mail reader we will be presented with something we are
+likely to be most interested in (known people replying our mails) and
+progressively, as we will have the time to scroll through, mails from
+"new people" or mass mailings of sort. Please note this organization
+does not includes spam, which is supposedly weeded out on the server
+via spamlists: White/Blacklisting has more to do with our own
+selection of content sources than with the generic protection from
+random pieces of information.
+
+** Whitelist
+
+The way whitelisting works if quite crucial to this setup and, at the
+same time, is fairly simple since it does not include any automatic
+detection, learning filters, Markov chains or Bayesian A/I. We believe
+the user should be in full control of prioritizing communication
+channels and at the same time constantly able to tweak the setup in an
+easy way.
+
+To whitelist an address is sufficient to send it an e-mail: at the
+moment the message is sent Jaro Mail will remember the destination
+address and prioritize all messages coming back from it.
+This we call implicit whitelisting.
+
+To explicitly whitelist an address from inside the mail reader index
+press [ *a* ] while selecting an email, this will add in the whitelist
+all addresses mentioned in To: and Cc:. To remove an address from the
+whitelist, press [ *A* ] (shift-a) while selecting a mail and its
+sender (only the From: field) will lose the privilege of ending up in
+your *known/* folder.
+
+There is one more privilege for people that have their address
+whitelisted: their name and e-mail will be completed automatically
+when composing a new email, pressing the *Tab* key while indicating
+them among the recipients.
+
+The file where the whitelist is stored in *Mail/jaro/Whitelist.txt* in
+a plain text format that you can even edit it with a normal editor.
+
+** Blacklist
+
+To blacklist an address instead one can use the [ *z* ] key while an
+e-mail is selected on the index: the sender indicated in the From:
+field will be downgraded to the very bottom of your priorities, closes
+to spam than the rest, the most infamous *zz.blacklist/* folder.
+
+Similarly, to remove addresses from the blacklist the [ *Z* ] (shift-z)
+key can be pressed and all addresses mentioned in the currently
+selected e-mail (including those in Cc:) will be redeemed, but not
+whitelisted unless you do it explicitly with 'a'.
+
+The blacklist file is also in plain text: *Mail/jaro/Blacklist.txt*
+
+** In Brief
+
+Below a recapitulation of keys related to the white and blacklisting
+functionality, to be used in the e-mail index or when an e-mail is
+open inside the mail user agent:
+
+| List | Key | Function | Fields |
+|-------+-----------+----------------------------+-----------|
+| White | *a* | Add all addresses found | From: Cc: |
+| White | *A* (shift) | Remove sender address | From: |
+| Black | *z* | Add sender address | From: |
+| Black | *Z* (shift) | Remove all addresses found | From: Cc: |
+
+
+
+
+* Security
+
+** Password storage
+
+Our MUA (Mutt) and our MTA (Fetchmail) normally required the user to
+input the email account password every time or write it clear inside a
+plain text file, jeopardizing the secrecy of it.
+
+But most desktops nowadays have a keyring that stores passwords that
+are often used during a session, saving the user from retyping them
+every time.
+
+Jaro Mail provides an interesting (and long awaited) feature even for
+those who are already using Mutt for their email: *it stores passwords
+securely*. This is done in different ways depending from the operating
+system is being running on.
+
+Jaro Mail will use the default keyring whenever present to store all
+new passwords for each account used: the first time will prompt for a
+password and, while using it, will save it in relation to the
+particular account. This way the user can simply authenticate into the
+keyring at login and, while managing such sensitive informations using
+OS specific tools, Jaro Mail can be launched without the tedious task
+of a password input every time e-mails are being checked.
+
+On *Apple/OSX* the default internal keyring is being used.
+
+On *GNU/Linux* only the gnome-keyring is supported for now.
+
+To explicitly change a password one can operate the default keyring
+manager or use the command *jaro passwd -a imap.default* (or other
+accounts) which will prompt to set for a new password even if an old
+one is known. If left blank, it will simply erase the password saved
+for the account.
+
+** Temporary directory
+
+For its password management system to work, Jaro Mail often requires
+to write down passwords in clear text, at least until software like
+Fetchmail and Mutt is updated to avoid such a stupid need.
+
+The way we overcome this limitation is by using a temporary directory,
+making sure that all sensitive files created in it are deleted as soon
+as possible, as well that no other user on the system has access to
+them, but still we can't deny that an administrator access them.
+
+If a ramdisk is present on the system it will be used by Jaro Mail:
+that is a "volatile" directory in RAM whose contents are never written
+on the disk. This prevents an intruder to seize the machine and
+recover deleted data from unused sectors on the hard-disk, because all
+data saved in RAM gets irremediably lost after approximately 2 minutes
+the machine is switched off for such an operation.
+
+On *Apple/OSX* systems to enable this feature one must explicitly
+activate the ramdisk using the command
+
+: $ jaro ramdisk open
+
+This will create and mount /Volume/JaroTmp which is 10MB large and
+will be used for our delicate security transactions.
+
+
+On *GNU/Linux* systems this is done automatically if the shared memory
+volume is available and writable (/dev/shm) without the need to use
+the ramdisk command.
+
+For the aforementioned reasons of writing passwords in clear text,
+Jaro Mail also requires the use of safe deletion techniques as those
+provided by *srm* (on Apple/OSX) and *wipe* (on GNU/Linux) every time
+a file is deleted. So even if a ramdisk is not activated it will be
+very hard if not impossible for an attacker to retreive information
+from hard-disk sectors or using a cold-boot attack on RAM.
+
+** A tip for GNU/Linux users
+
+Those using a GNU/Linux system might want to have a look at our other
+software *Tomb, the Crypto Undertaker*[fn:tomb] which takes care of quick mount
+and umount of an encrypted volume when desired and includes a *hook*
+mechanism to automatize the execution of commands to make a directory
+inside the encrypted volume immediately available in the user's home.
+
+[fn:tomb] http://tomb.dyne.org
+
+Using a light combination of scripts between Jaro Mail and Tomb is
+possible to achieve a strong level of personal security, definitely
+above the average.
+
+For more information about Tomb please refer to its own documentation.
+
+* Storage and backup
+
+
+Most existing e-mail systems have their own storage format which is
+often over-complicated and forces us to convert our archives to it.
+
+Jaro Mail stores emails using the well documented format *Maildir*
+format which is common to many other free and open source e-mail
+software and was developed and well documented by D.J. Bernstein.
+
+Quoting him about the wonders of this format:
+
+#+BEGIN_QUOTE
+
+Why should I use maildir?
+
+Two words: no locks. An MUA can read and delete messages while new
+mail is being delivered: each message is stored in a separate file
+with a unique name, so it isn't affected by operations on other
+messages. An MUA doesn't have to worry about partially delivered mail:
+each message is safely written to disk in the tmp subdirectory before
+it is moved to new. The maildir format is reliable even over NFS.[fn:djb]
+
+#+END_QUOTE
+
+[fn:djb] http://cr.yp.to/proto/maildir.html
+
+What this virtuous, sometimes very cryptical man is trying to say here
+is that the Maildir format in its simplicity of implementation
+represents an extremely reliable way to retreive and store emails
+without the risk of losing any if the Internet connection goes down.
+
+While skipping over the internal details of this storage system, which
+basically consists in plain text files saved into sub-directories, we
+will have a look at some very interesting features that Jaro Mail can
+offer to its users and to the even larger audience of Maildir format
+users.
+
+** Merge maildir
+
+Jaro Mail can safely merge two different maildirs basically gathering
+all e-mails stored in them into a unique place. This is done using two
+arguments, both maildir folders: the first is the source and the
+second is the destination e-mails from both will be gathered:
+
+: $ jaro merge ml.saved-mails ml.global-archive
+
+The above command will copy all emails stored inside the maildir
+folder "ml.saved-mails" to the other maildir folder
+"ml.global-archive". Both maildir folders must exist in order for this
+operation to succeed. Upon success, "ml.saved-mails" can be safely
+deleted by the user, if desired.
+
+
+** Remove duplicates from maildir
+
+As a result of a merge or a multiple fetch of e-mails, it can often
+occur that a maildir contains duplicates which are also highlighted in
+red in the e-mail index and, if many, can be tedious to eliminate by
+hand. Jaro Mail offers the automatic functionality of removing all
+duplicate emails from a maildir folder using the *rmdupes* command:
+
+: $ jaro rmdupes ml.overflow
+
+Will look for all duplicates emails in the "ml.overlow" maildir,
+matching them by their unique *Message-Id:* header field, and delete
+all duplicates for mails that are present more than once.
+
+** Backup mails older than
+
+To facilitate the separate storage of e-mails that are too old to be
+of any interest, but still might be useful to be retrieved just in
+case, Jaro Mail implements a function that will move all messages
+older than a certain date out of a maildir folder into another.
+
+: $ jaro backup ml.recent ml.yearsago 365
+
+The above command will move out of the "ml.recent" maildir all e-mails
+that are older than 365 days and store them into the "ml.yearsago"
+maildir which for instance could be present on an external usb
+hard-disk or any other backup device, helping us to save space on the
+desktop in use.
+
+*Caveat*: this system determines the date of emails from the time
+stamp of files, not from the Date: field in their headers nor from the
+time they were received. We need help to overcome this imperfection, a
+string parser for dates would be a welcome contribution, meanwhile
+users should be aware that if a maildir was copied around filesystems
+updating the timestamps of its files they will lose date information
+useful to the backup function and all mails will result more recent
+than they are.
+
+
+** Filter a maildir
+
+If filters are updated or one desires to import a maildir into Jaro
+Mail processing it through its filters, the *filter* command is
+provided to (re)filter a maildir.
+
+: $ jaro filter my-old-maildir
+
+Beware that filtering twice a maildir is likely going to create
+duplicates, which can be later eliminated by using the *rmdupes*
+command explicitly on the maildirs containing them.
+
+* Acknowledgements
+
+Jaro Mail would have never been possible without the incredible amount
+of Love shared by the free and open source community, since it is
+relying on the development of software like Procmail, Mutt, Fetchmail
+and even more code which is included and used by this program.
+
+Heartfelt thanks go to all those contributing code and sharing it to
+make the world a better place by not letting down all users in the
+hands of corporate non-sense and proprietary technologies and
+protocols.
+
+This manual is written and maintained by Jaromil who is also the one
+who wrote the Jaro Mail scripts. Still he is far from being the person
+that wrote most of the code running here, just the one who organized
+it in an hopefully intuitive way for users.
+
+In the following chapters the best is done in order to credit most
+people that contributed to free and open source software that Jaro
+Mail makes use of.
+
+** License
+
+The following copyright notice applies to this manual, the software
+included is licensed under the same or different GNU GPL or BSD
+licenses, or available in the public domain.
+
+#+BEGIN_EXAMPLE
+ Copyleft (C) 2010-2012 Denis Roio <jaromil@dyne.org>
+
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3 or
+ any later version published by the Free Software Foundation;
+ Permission is granted to make and distribute verbatim copies of this
+ manual page provided the above copyright notice and this permission
+ notice are preserved on all copies.
+#+END_EXAMPLE
+
+** Mutt credits
+
+Please note that this is by no means an exhaustive list of all the
+persons who have been contributing to Mutt. Please see the
+manual for a (probably still non complete) list of the persons who
+have been helpful with the development of Mutt.
+
+#+BEGIN_EXAMPLE
+ Copyright (C) 1996-2007 Michael R. Elkins <me@cs.hmc.edu>
+ Copyright (C) 1996-2002 Brandon Long <blong@fiction.net>
+ Copyright (C) 1997-2008 Thomas Roessler <roessler@does-not-exist.org>
+ Copyright (C) 1998-2005 Werner Koch <wk@isil.d.shuttle.de>
+ Copyright (C) 1999-2009 Brendan Cully <brendan@kublai.com>
+ Copyright (C) 1999-2002 Tommi Komulainen <Tommi.Komulainen@iki.fi>
+ Copyright (C) 2000-2004 Edmund Grimley Evans <edmundo@rano.org>
+ Copyright (C) 2006-2008 Rocco Rutte <pdmef@gmx.net>
+#+END_EXAMPLE
+
+** Fetchmail credits
+
+Fetchmail is also licensed GNU GPL v2
+
+#+BEGIN_EXAMPLE
+Copyright (C) 2002, 2003 Eric S. Raymond
+Copyright (C) 2004 Matthias Andree, Eric S. Raymond, Robert M. Funk, Graham Wilson
+Copyright (C) 2005 - 2006, 2010 Sunil Shetye
+Copyright (C) 2005 - 2010 Matthias Andree
+#+END_EXAMPLE
+
+** Procmail credits
+
+Procmail was originally designed and developed by Stephen R. van den Berg.
+
+In the fall of 1998, recognizing that he didn't have the time to
+maintain procmail on his own, Stephen created a mailing list for
+discussion of future development and deputized Philip Guenther as a
+maintainer.
+
+The included Procmail library collection is developed and maintained
+by Jari Aalto.
+
+** MSmtp credits
+
+MSmtp is developed and maintained by Martin Lambers.
+
+You can redistribute it and/or modify it under the terms of the GNU
+General Public License as published by the Free Software Foundation;
+either version 3 of the License, or (at your option) any later
+version.
+
+
+** Lbdb credits
+
+The "little brother database" was initially written by Thomas
+Roessler.
+
+Most of the really interesting code of this program (namely, the RFC
+822 address parser used by lbdb-fetchaddr) was stolen from Michael
+Elkins' mutt mail user agent.
+
+Additional credits go to Brandon Long for putting the query
+functionality into mutt and to Brendan Cully for writing the gateway
+module to Apple/OSX addressbook, just slightly updated in our
+distribution.