<!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>
    <img src="/images/ponymail.svg" style="width: 110px; margin-left: -10px; margin-right: 20px; height: auto;" align="left"/>
    <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>
            <li><a href="/apache.html"><i class="fa fa-info-circle"></i><span>ASF</span></a></li>
        </ul>
    </div>
</div>
<h1 id='gettingsupport'>Getting Support<a href='#gettingsupport' style='color: rgba(0,0,0,0);'>&para;</a></h1>
<h2 id='mailinglists'>Mailing lists<a href='#mailinglists' style='color: rgba(0,0,0,0);'>&para;</a></h2>
<p>Our primary communication interface is - you guessed it - mailing lists!<br/>
    We have a number of mailing lists for various purposes:<br/></p>
<table border="0">
    <tr>
        <td><b>Users' list:</b></td><td>users@ponymail.incubator.apache.org</td>
        <td>
            [<a href="mailto:users-subscribe@ponymail.incubator.apache.org">Subscribe</a>] - 
            [<a href="https://lists.apache.org/list.html?users@ponymail.apache.org">Browse</a>]
        </td>
    </tr>
    <tr>
        <td><b>Development list:</b></td><td>dev@ponymail.incubator.apache.org</td>
        <td>
            [<a href="mailto:dev-subscribe@ponymail.incubator.apache.org">Subscribe</a>] - 
            [<a href="https://lists.apache.org/list.html?dev@ponymail.apache.org">Browse</a>]
        </td>
    </tr>
    <tr>
        <td><b>Issues list:</b></td><td>issues@ponymail.incubator.apache.org</td>
        <td>
            [<a href="mailto:issues-subscribe@ponymail.incubator.apache.org">Subscribe</a>] - 
            [<a href="https://lists.apache.org/list.html?issues@ponymail.apache.org">Browse</a>]
        </td>
    </tr>
    <tr>
        <td><b>Commit list:</b></td><td>commits@ponymail.incubator.apache.org</td>
        <td>
            [<a href="mailto:commits-subscribe@ponymail.incubator.apache.org">Subscribe</a>] - 
            [<a href="https://lists.apache.org/list.html?commits@ponymail.apache.org">Browse</a>]
        </td>
    </tr>
</table>

<h2 id='issuetracker'>Issue tracker<a href='#issuetracker' style='color: rgba(0,0,0,0);'>&para;</a></h2>
<p>We currently use GitHub Issues for tracking bugs and improvements: <a href="https://github.com/apache/incubator-ponymail/issues">https://github.com/apache/incubator-ponymail/issues</a></p>
<h2 id='irc'>IRC<a href='#irc' style='color: rgba(0,0,0,0);'>&para;</a></h2>
<p>We are also on IRC, if you fancy a quick chat. You can find us in #PonyMail on Freenode.</p>
<h2 id='securityissues'>Security issues<a href='#securityissues' style='color: rgba(0,0,0,0);'>&para;</a></h2>
<p>Security issues and inquiries should be sent to: security@apache.org</p>
<h4><a id="disclaimer"></a>Disclaimer</h4>
<p style="line-height: 12pt;">
    <a href="https://incubator.apache.org"><img src="https://incubator.apache.org/images/incubator_feather_egg_logo_sm.png" align="right" width="220px" style="margin-left: 6px;"/></a>
    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>
<p style="font-size: 9pt; line-height: 12pt; text-align: center;">
    Copyright 2016, the <a href="http://www.apache.org/">Apache Software Foundation</a>.<br/>
    Apache Pony Mail and the Apache Pony Mail logo are trademarks of the Apache Software Foundation.
    Apache and the Apache feather are registered trademarks of the
    Apache Software Foundation.
</p>
</body></html>
