<!DOCTYPE html><html><head><meta charset="utf-8"><title>Apache Pony Mail (Incubating)</title>
<link rel="stylesheet" type="text/css" href="/css/default.css"/>
<link rel="stylesheet" type="text/css" href="/css/fa/fa.css"/>
<link rel="apple-touch-icon" sizes="57x57" href="/icons/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/icons/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/icons/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/icons/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/icons/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/icons/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/icons/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/icons/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/icons/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192"  href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/icons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/icons/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/icons/favicon-16x16.png">
<link rel="manifest" href="/icons/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/icons/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head><body>
<div id="titlebar">
    <a href="/contribute.html"><img align='left' style="width: 130px; height: 125px; position: relative; left: -6px; top: -6px; border: 0;" src="/images/devme.png" alt="Fork/Hack on Pony Mail"></a>
    <a href='/'><img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/></a>
    <h1><a id="title" href="/" style="color: #FFF !important;">Apache Pony Mail&trade; (Incubating)</a></h1>
    <div id="menubar">
        <ul>
            <li><a href="/docs.html"><i class="fa fa-book"></i><span>Documentation</span></a></li>
            <li><a href="/source.html"><i class="fa fa-git-square"></i><span>Source</span></a></li>
            <li><a href="/downloads.html"><i class="fa fa-cloud-download"></i><span>Download</span></a></li>
            <li><a href="/support.html"><i class="fa fa-question-circle"></i><span>Get support</span></a></li>
            <li><a href="/contribute.html"><i class="fa fa-share-alt"></i><span>Contribute</span></a></li>
            <li><a href="/about.html"><i class="fa fa-users"></i><span>About</span></a></li>
        </ul>
    </div>
</div>
<h1 id='importingdatatoponymail'>Importing Data to Pony Mail<a href='#importingdatatoponymail' style='color: rgba(0,0,0,0);'>&para;</a></h1>
<p>Pony Mail supports many ways of importing your old mail archives via the
<code>import-mbox.py</code> script. For command line argument tips, run <code>python3
import-mbox.py --help</code>.</p>
<p>Imports are digested equally every time (*), so you can
import from the same source multiple times without creating duplicate emails in
the archive. Both the archiver and the importer use the same digest method, so
they can overlap. Usually, you'll want to set up the archiver first, and when
emails start flowing through it, you'll use the importer to import older emails.</p>
<h2 id='importingfrommodmbox'>Importing from mod_mbox<a href='#importingfrommodmbox' style='color: rgba(0,0,0,0);'>&para;</a></h2>
<h3 id='importingasingledomain'>Importing a single domain<a href='#importingasingledomain' style='color: rgba(0,0,0,0);'>&para;</a></h3>
<p>Provided you have the main mod_mbox page at https://your.tld/mod_mbox/ and your (sub)domain resources at
https://your.tld/mod_mbox/$list-yourdomain/, you can import all lists from that domain using:</p>
<p><code>python3 import-mbox.py --source https://your.tld/mod_mbox/ --mod-mbox --project yourdomain</code></p>
<p>For a quick update, which only imports the last 2 months of mail, append the <code>--quick</code> flag.</p>
<p>You can also import just a single list by specifying that list ID:</p>
<p><code>python3 import-mbox.py --source https://your.tld/mod_mbox/ --mod-mbox --project listname-yourdomain</code></p>
<h3 id='importinganentirearchivemultipledomains'>Importing an entire archive (multiple domains)<a href='#importinganentirearchivemultipledomains' style='color: rgba(0,0,0,0);'>&para;</a></h3>
<p>To import an entire site, use the same command as above, but omit the <code>--project</code> flag</p>
<p><code>python3 import-mbox.py --source https://your.tld/mod_mbox/ --mod-mbox</code></p>
<h3 id='settingthedomainorlistidproperlyincaseofvariance'>Setting the domain or list id properly in case of variance<a href='#settingthedomainorlistidproperlyincaseofvariance' style='color: rgba(0,0,0,0);'>&para;</a></h3>
<p>If your old archive varies in terms of list IDs across time, you can force harmonization by using the <code>--lid</code> or <code>--domain</code> flags:</p>
<p><code>python3 import-mbox.py --source https://your.tld/mod_mbox/ --mod-mbox --project listid-yourdomain --lid "&lt;listid.yourdomain.tld&gt;"</code></p>
<p>This should only be done one list at a time.</p>
<h2 id='importingfrompipermail'>Importing from Pipermail<a href='#importingfrompipermail' style='color: rgba(0,0,0,0);'>&para;</a></h2>
<p>To import from pipermail, you will have to run the import one list at a time. As with mod_mbox imports, you must specify a source, but use <code>--pipermail</code> instead of <code>--mod-mbox</code>:</p>
<p><code>python3 import-mbox.py --source https://your.tld/pipermail/foolist/ --pipermail</code></p>
<h3 id='pipermailandhtmlonlyemails'>Pipermail and html-only emails<a href='#pipermailandhtmlonlyemails' style='color: rgba(0,0,0,0);'>&para;</a></h3>
<p>While you can convert HTML-only emails to text using <code>--html2text</code>, Pipermail has some peculiarities
where it adds a text/plain message to these emails, thus preventing html2text from working. You can
circumvent this by using the <code>--ignorebody "foo"</code> arg to ignore all text/plain bodies containing <code>foo</code>.</p>
<p>While the <code>project</code> flag is not needed here, you may wish to specify the list ID for the import.</p>
<h2 id='importingfromlocallystoredmboxfiles'>Importing from locally stored mbox files<a href='#importingfromlocallystoredmboxfiles' style='color: rgba(0,0,0,0);'>&para;</a></h2>
<p>To import from one or more local mbox files, specify a filesystem path as the source:</p>
<p><code>python3 import-mbox.py --source /tmp/mylists/</code></p>
<p>This will recursively import all files with the extension '.mbox'.</p>
<p>You can change the extension as follows:</p>
<p><code>python3 import-mbox.py --source /tmp/mylists/ --ext .mbx</code></p>
<p>To match all files with any non-empty extension:</p>
<p><code>python3 import-mbox.py --source /tmp/mylists/ --ext '.*'</code></p>
<p>To match files regardless of extension:</p>
<p><code>python3 import-mbox.py --source /tmp/mylists/ --ext ''</code></p>
<p>Or you can import a single file:</p>
<p><code>python3 import-mbox.py --source 2016-11.mbox</code></p>
<p>(This is supported in versions after 0.9)</p>
<h2 id='testarchives'>Test archives<a href='#testarchives' style='color: rgba(0,0,0,0);'>&para;</a></h2>
<p>We have a few test archives for those that wish to test large imports.
They can be found in gzip format at <a href="http://ponymail.info/mboxes/">http://ponymail.info/mboxes/</a></p>
<p>(*) The digest depends on the [archiver] generator setting in ponymail.cfg
If that varies between imports, then duplicates will occur</p>
<div style="display: inline-block; background: #BBB; margin: -10px; padding: 10px;">
    <h4><a id="disclaimer"></a>Disclaimer</h4>
<div style="width: 65%; float: left;">
<p style="line-height: 12pt;">
    Apache Pony Mail (Incubating) is an effort undergoing incubation at
    The Apache Software Foundation (ASF), sponsored by the <a href="https://incubator.apache.org">
    Apache Incubator</a>. Incubation is required of all newly accepted projects
    until a further review indicates that the infrastructure,
    communications, and decision making process have stabilized in a
    manner consistent with other successful ASF projects. While
    incubation status is not necessarily a reflection of the
    completeness or stability of the code, it does indicate that the
    project has yet to be fully endorsed by the ASF.
</p>
</div>
<div style="width: 20%; float: left; padding-top: 16px; margin-left: -8px;">
<a href="https://incubator.apache.org"><img src="https://incubator.apache.org/images/incubator_feather_egg_logo_sm.png"/></a>
</div>
<div style="width: 15%; float: left; line-height: 15px; padding-left: 22px;">
    <a class="item" target="_blank" href="https://incubator.apache.org/">Apache Incubator</a><br/>
            <a class="item" target="_blank" href="https://www.apache.org/">About the ASF<span></span></a><br/>
            <a class="item" target="_blank" href="https://www.apache.org/foundation/policies/conduct.html">Code of Conduct<span></span></a><br/>
            <a class="item" target="_blank" href="https://www.apache.org/foundation/thanks.html">Thanks<span></span></a><br/>
            <a class="item" target="_blank" href="https://www.apache.org/foundation/sponsorship.html">Become a Sponsor<span></span></a><br/>
            <a class="item" target="_blank" href="https://www.apache.org/security/">Security<span></span></a><br/>
            <a class="item" target="_blank" href="https://www.apache.org/licenses/LICENSE-2.0">License<span></span></a><br/>
</div>
</div>
</body></html>
