<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License. 
-->
 <html>
 <head>

 <title>
 Apache Commons -
 Email Downloads
 </title>

 <style type="text/css" media="all">
 @import url("../style/tigris.css");
 @import url("../style/maven.css");
 @import url("../style/project.css");
 </style>
 <link rel="stylesheet" href="../style/print.css" type="text/css" media="print"></link>

 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta>

 </head>
 <body class="composite">
 <div id="banner">
 <table border="0" width="100%" cellpadding="8" cellspacing="0">
 <tr>

 <td>
 <a href="http://commons.apache.org">
 <img border="0" name="organization-logo" alt="The Apache Software Foundation" src="asf_logo_wide.gif" align="left"></img> <img src="http://www.apache.org/images/asf_logo_wide.gif"/>
 </a>

 </td>

 <td>
 <div id="login" align="right">


 </div>
 </td>
 </tr>
 </table>
 </div>
<script type="text/javascript">
<!--
 var myWidth = 0, myHeight = 0;
 if( typeof( window.innerWidth ) == 'number' ) {
 //Non-IE
 myWidth = window.innerWidth;
 myHeight = window.innerHeight;
 } else if( document.documentElement &&
 ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
 //IE 6+ in 'standards compliant mode'
 myWidth = document.documentElement.clientWidth;
 myHeight = document.documentElement.clientHeight;
 } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
 //IE 4 compatible
 myWidth = document.body.clientWidth;
 myHeight = document.body.clientHeight;
 }
 // window.alert( 'Width = ' + myWidth );
 if (myWidth < 850) {
 document['organization-logo'].src='http://jakarta.apache.org/images/original-jakarta-logo.gif';
 }
// -->
</script>
 <div id="breadcrumbs">
 <table border="0" width="100%" cellpadding="4" cellspacing="0">
 <tr>


 <td>Last published: Nov 20, 2009

 </td>

 <td>
 <div align="right">









 <a href="http://www.apache.org" class="externalLink" title="External Link">Apache</a>





 </div>
 </td>
 </tr>
 </table>
 </div>

 <table border="0" width="100%" cellpadding="8" cellspacing="0">
 <tr valign="top">
 <td width="20%" id="leftcol">
 <div id="navcolumn">


 <div>
 <strong>About Us</strong>












 <div>
 <small>


 <a href="http://commons.apache.org/">Home</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://commons.apache.org/contributors.html">Contributors</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://commons.apache.org/license.html">License</a>

 </small>



 </div>

















 <div>
 <small>


 <a href="../components.html">Components</a>

 </small>

 </div>

















 <div>
 <small>


 <a href="../sandbox/index.html">Sandbox</a>

 </small>

 </div>

















 <div>
 <small>


 <a href="../dormant/index.html">Dormant</a>

 </small>

 </div>

 </div>


 <div>
 <strong>Download</strong>












 <div>
 <small>


 <a href="http://commons.apache.org/downloads/index.html">Releases?(mirrored)</a>

 </small>



 </div>

 </div>

 <div>
 <strong>View Source Code Repository</strong>












 <div>
 <small>


 <a href="http://commons.apache.org/svninfo.html">General Information</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://svn.apache.org/viewvc/commons/proper/" class="externalLink" title="External Link">Components</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://svn.apache.org/viewvc/commons/sandbox/" class="externalLink" title="External Link">Sandbox</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://svn.apache.org/viewvc/commons/dormant/" class="externalLink" title="External Link">Dormant</a>

 </small>



 </div>

 </div>

 <div>
 <strong>Support</strong>












 <div>
 <small>


 <a href="http://commons.apache.org/mail-lists.html">Mailing Lists</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://commons.apache.org/bugs.html">Bug Database</a>

 </small>



 </div>

 </div>



 <div>
 <strong>General Information</strong>












 <div>
 <small>


 <a href="http://commons.apache.org/charter.html">Charter</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://commons.apache.org/volunteering.html">Volunteering</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://commons.apache.org/patches.html">Contributing Patches</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://commons.apache.org/building.html">Building Components</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://commons.apache.org/releases/index.html">Releasing Components</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://wiki.apache.org/commons/FrontPage" class="externalLink" title="External Link">Wiki</a>

 </small>



 </div>

 </div>

 <div>
 <strong>About Apache</strong>












 <div>
 <small>


 <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="External Link">How the ASF works</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://www.apache.org/foundation/getinvolved.html" class="externalLink" title="External Link">Get Involved</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://www.apache.org/dev/" class="externalLink" title="External Link">Developer Resources</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="External Link">Sponsors of the ASF</a>

 </small>



 </div>












 <div>
 <small>


 <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="External Link">Sponsorship program</a>

 </small>



 </div>

 </div>







 <div style="margin-top: 20px; width: 100%; text-align: center;">
 <a href="http://maven.apache.org/" title="Built by Maven"><img style="border: 1px solid black" alt="Built by Maven" src="../images/logos/maven-feather.png"></img></a>
 </div>



 </div>
 </td>
 <td rowspan="2">
 <div id="bodycol">

 <div class="app">


 <div class="h3">


 <h3>
 <a name="Email Downloads">Email Downloads</a>
 </h3>

 <p>We recommend you use a mirror to download our release
 builds, but you <strong>must</strong> verify the integrity of
 the downloaded files using signatures downloaded from our main
 distribution directories. Recent releases (48 hours) may not yet be available from the mirrors. </p><p>You are currently using <b>http://mirror.deri.at/apache</b>. If you
 encounter a problem with this mirror, please select another
 mirror. If all mirrors are failing, there are <i>backup</i>
 mirrors (at the end of the mirrors list) that should be
 available.<br></br><a href="http://www.deri.at/"></a></p><p><form action="/downloads/download_email.cgi" method="get" id="SelectMirror">
 Other mirrors: <select name="Preferred">

 <option value="http://mirror.deri.at/apache">http://mirror.deri.at/apache</option>


 <option value="ftp://gd.tuwien.ac.at/pub/infosys/servers/http/apache/dist">ftp://gd.tuwien.ac.at/pub/infosys/servers/http/apache/dist</option>


 <option value="http://www.apache.org/dist">http://www.apache.org/dist (backup)</option><option value="http://www.eu.apache.org/dist">http://www.eu.apache.org/dist (backup)</option>

 </select><input type="submit" value="Change"></input></form></p><p>
 The <code>KEYS</code> link links to the code signing keys used to sign the product. The <code>PGP</code> link downloads the OpenPGP compatible signature from our main site.

 The <code>MD5</code> link downloads the checksum from the main site.
 </p><p>For more information concerning Email, see the <a href="http://commons.apache.org/email/" class="name">Email</a> site. </p><div class="links"><span class="link"><a href="http://www.apache.org/dist/commons/KEYS">KEYS</a></span></div><ul class="downloads"><li class="group"><div class="links"><span class="label"></span><span class="link"><a href="http://commons.apache.org/email/changes-report.html">Changes Report</a></span></div><ul></ul></li><li class="group"><div class="links"><span class="label">Binary</span></div><ul><li class="download"><a href="http://mirror.deri.at/apache/commons/email/binaries/commons-email-1.2-bin.tar.gz">1.2.tar.gz</a><ul class="attributes"><li><span class="md5">[<a href="http://www.apache.org/dist/commons/email/binaries/commons-email-1.2-bin.tar.gz.md5">md5</a>]</span><span class="pgp">[<a href="http://www.apache.org/dist/commons/email/binaries/commons-email-1.2-bin.tar.gz.asc">pgp</a>]</span></li></ul></li><li class="download"><a href="http://mirror.deri.at/apache/commons/email/binaries/commons-email-1.2-bin.zip">1.2.zip</a><ul class="attributes"><li><span class="md5">[<a href="http://www.apache.org/dist/commons/email/binaries/commons-email-1.2-bin.zip.md5">md5</a>]</span><span class="pgp">[<a href="http://www.apache.org/dist/commons/email/binaries/commons-email-1.2-bin.zip.asc">pgp</a>]</span></li></ul></li></ul></li><li class="group"><div class="links"><span class="label">Source</span></div><ul><li class="download"><a href="http://mirror.deri.at/apache/commons/email/source/commons-email-1.2-src.tar.gz">1.2.tar.gz</a><ul class="attributes"><li><span class="md5">[<a href="http://www.apache.org/dist/commons/email/source/commons-email-1.2-src.tar.gz.md5">md5</a>]</span><span class="pgp">[<a href="http://www.apache.org/dist/commons/email/source/commons-email-1.2-src.tar.gz.asc">pgp</a>]</span></li></ul></li><li class="download"><a href="http://mirror.deri.at/apache/commons/email/source/commons-email-1.2-src.zip">1.2.zip</a><ul class="attributes"><li><span class="md5">[<a href="http://www.apache.org/dist/commons/email/source/commons-email-1.2-src.zip.md5">md5</a>]</span><span class="pgp">[<a href="http://www.apache.org/dist/commons/email/source/commons-email-1.2-src.zip.asc">pgp</a>]</span></li></ul></li></ul></li><li class="download"><a href="http://mirror.deri.at/apache/commons/email/">browse download area</a></li><li><a href="http://archive.apache.org/dist/commons/email/">archives...</a></li></ul>
 </div>






 </div>
 </div>
 </td>
 </tr>
 </table>
 <div id="footer">
 <table border="0" style="width:100%" cellpadding="4" cellspacing="0">

 <tr>
 <td>




 ? 2001-2009, The Apache Software Foundation





 </td>

 </tr>
 </table>
 </div>
 </body>
 </html>
