archive-mail

Maintains maildir archives synced with current maildirs

git clone https://git.8pit.net/archive-mail.git

 1# archive-mail
 2
 3Maintains maildir archives synced with current maildirs.
 4
 5## Motivation
 6
 7I only store the last `N` messages in the maildir on my mail server, I
 8maintain a local archive which contains all mails I ever received. This
 9tool helps propagating new and modified messages from the maildir on my
10server to my archive.
11
12## Usage
13
14Sample usage for archiving the `INBOX` and `GitHub` maildir:
15
16	$ archive-mail mail/INBOX→/srv/nfs/archive/mail/INBOX \
17		mail/GitHub→/srv/nfs/archive/mail/GitHub
18
19This will propagate the following changes to the archive:
20
211. New messages from the current maildir, which were previously
22   not tracked in the archive.
232. Changed flags, or file names in general, of messages already
24   tracked in the maildir archive.
253. Location changes of messages in the archive. For example, messages
26   moved between `new/` and `cur/` and messages moved between different
27   maildirs. For example, between `INBOX` and `GitHub` in the example
28   above.
29
30The current maildir will never be modified. Messages deleted from the
31current maildir will also not be deleted from the archive.
32
33## Installation
34
35After cloning this repository compile the software as follows:
36
37	$ go build
38
39Afterwards copy the binary to your `$PATH` or use `go install`.
40
41## Tests
42
43A minimal test suite is provided it can be invoked as follows:
44
45	$ ./tests/run_tests.sh
46
47## License
48
49This program is free software: you can redistribute it and/or modify it
50under the terms of the GNU General Public License as published by the
51Free Software Foundation, either version 3 of the License, or (at your
52option) any later version.
53
54This program is distributed in the hope that it will be useful, but
55WITHOUT ANY WARRANTY; without even the implied warranty of
56MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
57Public License for more details.
58
59You should have received a copy of the GNU General Public License along
60with this program. If not, see <http://www.gnu.org/licenses/>.