aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* Use safe methods to open the archive mbox and an existing mbox fileNikolaus Schulz2010-07-191-8/+57
* mbox locking: omit dotlock if we don't have the permissions to create itNikolaus Schulz2010-07-192-2/+21
* mbox locking: combine locking functions into one and swap lock orderNikolaus Schulz2010-07-192-39/+69
* Switch mbox locking from flock(2) to posix lockf(2)Nikolaus Schulz2010-07-195-35/+24
* Rename procmail_lock->dotlock_lockNikolaus Schulz2010-07-192-23/+23
* test suite: use common base class with helper methods for mbox testingNikolaus Schulz2010-07-191-216/+168
* test suite: cut down the test of the --all optionNikolaus Schulz2010-07-191-19/+9
* test suite: cut down the test of the --preserve-unread optionNikolaus Schulz2010-07-191-21/+8
* test suite: change misleading test case nameNikolaus Schulz2010-07-191-3/+3
* test suite: cut down the test of the --size optionNikolaus Schulz2010-07-191-22/+9
* test suite: cut down the test of --output-dirNikolaus Schulz2010-07-191-14/+5
* test suite: cut down testing the handling of flagged messagesNikolaus Schulz2010-07-191-29/+10
* test suite: remove duplicate test case for --date optionNikolaus Schulz2010-07-191-35/+0
* test suite: cut down archive suffix generation testingNikolaus Schulz2010-07-191-17/+8
* test suite: test weird message headers in one runNikolaus Schulz2010-07-191-8/+12
* test suite: cut down the test of date header processingNikolaus Schulz2010-07-191-15/+3
* test suite: let make_message() optionally return a rfc822.MessageNikolaus Schulz2010-07-191-3/+7
* Remove lots of redundant test runs from the test suiteNikolaus Schulz2010-07-191pre { line-height: 125%; } td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-type" 
      content="text/html;charset=us-ascii">
    <title>archivemail &ndash; a tool for archiving and compressing old email</title>
    <link title="archivemail style" rel=stylesheet href="style.css" 
    type="text/css">
<style type="text/css">
/*<![CDATA[*/
.command {font-weight: bold;}
.example {
    /*background-color: #e0e0e0;*/
    padding: 0 2em; 
}
#status {
    float: right; 
    width: 10em
    margin-left: 4em; 
    margin-top: 1.3em;
    padding: 3ex; 
    border: 1px solid #777777; 
    line-height: 160%; 
}
/*span.mail {text-decoration: underline;}*/
/*]]>*/
</style>
</head>
<body>
   
<h1>archivemail</h1>

<hr>
<div id="status">
    <strong>Latest version: 0.7.2</strong><br>
    Released on 2007-11-09
</div>
<h2>What is it?</h2>
<p>
<span class="command">archivemail</span> is a tool for archiving and compressing
old email in mailboxes. 
It moves messages older than the specified number of
days to a separate <a title="mbox(5) man page" 
href="http://www.qmail.org/man/man5/mbox.html">mbox format</a> mailbox that is 
compressed with <span class="command">gzip</span>.
It can also just delete old email rather than archive it. 

<h2>What can it do for me?</h2>
<p>
Maybe some of your mailboxes are quite large (eg, over 10,000 messages) and
they are taking a while to load in your mail reader. Perhaps they are taking
up too much space on your disk. Archiving old messages to a separate,
compressed mailbox will mean: 
<ol>
<li>Your mail reader will get a huge performance boost loading and reading
    your mail.
<li>You will be taking up less disk space, since old mail will be compressed.
    (Mail usually compresses quite nicely.)
<li>You won't be confronted with semi-obsolete mail all the time.
</ol>
<p>
You can also use <span class="command">archivemail</span> as a simple backup
tool. 

<h2>Features overview</h2>
<ul>
<li>Supports archiving 
    <a title="about IMAP" href="http://www.imap.org/">IMAP</a>,
    <a title="mbox(5) man page" href="http://www.qmail.org/man/man5/mbox.html">mbox</a>,
    <a title="MH FAQ" href="http://www.faqs.org/faqs/mail/mh-faq/">MH</a> and 
    <a title="maildir(5) man page" 
        href="http://www.qmail.org/man/man5/maildir.html">Maildir</a> format 
    mailboxes.
<li>Old mail can be either archived or just deleted. 
<li>The age in days that is considered old is configurable &ndash; it defaults
    to 180 days.
    You can also set an absolute limit date. 
<li>Messages that are flagged important are not archived or deleted unless
    explicitely requested.
<!--<li>You can specify an option so that unread mail is never archived.-->
<li>Can be configured to preserve unread mail. 
<li>Can be configured to only archive messages over a given byte size.
<li>Stores the compressed archive mailboxes in a directory of
    your choice, with an extension of your choice.
<li>Easy read-only testing, not touching your valuable data. 
<li>Supports IMAPS/SSL.
<li>When archiving IMAP mailboxes, the message selection can be refined by
    extending the underlying IMAP <code>SEARCH</code> command with arbitrary
    search keys (you will have to cope with the raw IMAP protocol, though).
</ul>

<h2>Documentation</h2>
<p>
The <a href="manpage.html">archivemail manpage</a> is the primary documentation
for <span class="command">archivemail</span>.
To see what has changed in the latest version, check the <a
    href="RELNOTES">release notes</a>. 
If you want to have a closer look at the current development status, here's the 
<a title="changelog in subversion HEAD" href=
"http://archivemail.svn.sourceforge.net/viewvc/archivemail/trunk/CHANGELOG?revision=HEAD&amp;view=markup">
CHANGELOG</a> and the <a title="TODO list in subversion HEAD" href=
"http://archivemail.svn.sourceforge.net/viewvc/archivemail/trunk/TODO?revision=HEAD&amp;view=markup">
TODO list</a>, fresh from the repository. 

<h2>Where can I get it?</h2>
<p>
You can grab the latest version of <span class="command">archivemail</span>
directly from the <a
href="http://sourceforge.net/project/showfiles.php?group_id=49630">archivemail
download area</a> at Sourceforge. 
There will hopefully be up-to-date binary RPM packages at the 
<a href="http://software.opensuse.org/download/server:/mail/">OpenSUSE build
service</a> for SUSE Linux and Fedora Core 5 soon.  
Also, many Linux distributions provide packages; e.g. there is a 
<a href="http://packages.debian.org/unstable/archivemail">Debian
package</a>.

<p>
<span class="command">archivemail</span> is written in Python, and hacking it is
easy and fun; you can check out the source from the subversion repository with
the following command: 
<div class="example">
<kbd>svn co https://archivemail.svn.sourceforge.net/svnroot/archivemail/trunk</kbd>
</div>
<p>
See also the short <a href="http://sourceforge.net/svn/?group_id=49630">
introduction to subversion access</a> at sourceforge. 

<!-- 2007-11-06: this site has problems, and I cannot read the mentioned article. 
    <h3>Articles</h3>
    <p>
    Emmanuel Seyman wrote an 
    <a href="http://muttfr.org/gen.php3/2002/11/20/108,1,0,0,1.php3">article
    about archivemail</a> for <a href="http://www.muttfr.org/">muttfr.org</a>, a
    French website about <a href="http://www.mutt.org/">mutt</a>.
-->

<h2>Getting involved</h2>
<ul> 
    <li>Visit the <a
        href="http://sourceforge.net/tracker/?group_id=49630">archivemail
        tracker</a> to browse and/or submit bug reports and feature requests.
    <li>You can subscribe to the <a
        href="http://lists.sourceforge.net/lists/listinfo/archivemail-user">archivemail-user
        mailing list</a>.  
    This is a low traffic, subscribers-only list.  
<li>Check out the <a href="http://sourceforge.net/projects/archivemail/">project page
    for archivemail</a> at Sourceforge for a general overview.
</ul>

<h2>Requirements</h2>
<p>
<span class="command">archivemail</span> requires Python 2.3 or newer. 
It also uses some optional python modules, but these should be pretty much
standard; if you get an ImportError nonetheless, please 
<a title="jump to the archivemail tracker" 
href="http://sourceforge.net/tracker/?group_id=49630">report it</a>, thanks. 

<h2>License</h2>
<p>
This software is licensed under the terms of the 
<a href="http://www.gnu.org/licenses/licenses.html#GPL">GNU GPL</a>, either
version 2 of the license, or any later version. 

<h2>Credits</h2>
<p>
<span class="command">archivemail</span> was written by Paul Rodger
<code>&lt;paul <em>at</em> paulrodger <em>dot</em>
    com&gt;</code>
and is currently maintained by Peter Poeml <code>&lt;poeml
    <em>at</em> suse <em>dot</em> de&gt;</code>, Nikolaus Schulz <code><a href=
"mailto:microschulz@web.de">&lt;microschulz@web.de&gt;</a></code>
and Brandon Knitter.

<hr>
<p>
<!-- sourceforge logo start --> 
<a href="http://sourceforge.net">
<!-- white: -->
    <img src="http://sflogo.sourceforge.net/sflogo.php?group_id=49630&amp;type=2"
    width="125" height="37" 
    alt="SourceForge.net Logo">
<!-- blue: 
    <img src="http://sflogo.sourceforge.net/sflogo.php?group_id=49630&amp;type=4"
    width="125" height="37" 
    alt="SourceForge.net Logo">
-->
</a>
<!-- sourceforge logo end --> 
</body>
</html>