Skip to content
This repository has been archived by the owner on Mar 19, 2021. It is now read-only.

Commit

Permalink
- import greenmail 1.3.1b
Browse files Browse the repository at this point in the history
  • Loading branch information
mbaechler committed Feb 3, 2012
0 parents commit bf33663
Show file tree
Hide file tree
Showing 295 changed files with 60,194 additions and 0 deletions.
190 changes: 190 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
<?xml version="1.0"?>

<project name="GreenMail" default="main" basedir=".">

<!-- ==========================================================================================
PROPERTY SETUP
========================================================================================== -->

<property name="Name" value="GreenMail"/>

<property name="version" value="1.3.1b"/>
<!-- Set the properties for intermediate directory -->
<property name="build.dir" value="build"/>
<property name="build.lib" value="${build.dir}/lib"/>
<property name="build.classes" value="${build.dir}/classes"/>
<property name="test.classes" value="${build.dir}/testclasses"/>
<property name="build.javadocs" value="${build.dir}/javadocs"/>

<!-- Set the properties for source directories -->
<property name="src.dir" value="src"/>
<property name="java.dir" value="${src.dir}/java"/>
<property name="test.dir" value="${src.dir}/test"/>
<property name="conf.dir" value="${src.dir}/conf"/>
<property name="bin.dir" value="${src.dir}/bin"/>

<property name="dist.base" value="distributions"/>

<path id="project.class.path">
<pathelement path="${java.class.path}" />
<pathelement path="${build.classes}" />
<fileset dir="lib">
<include name="*.jar" />
</fileset>
</path>
<property name="project.class.path" refid="project.class.path"/>


<!-- Compiles project -->
<target name="compile">

<mkdir dir="${build.classes}"/>

<javac srcdir="${java.dir}"
destdir="${build.classes}"
source="1.4"
debug="1"
optimize="0">
<classpath refid="project.class.path" />
</javac>

<copy todir="${build.classes}">
<fileset dir="${java.dir}">
<exclude name="**/test/**"/>
<exclude name="**/*.java"/>
</fileset>
</copy>

<mkdir dir="${test.classes}"/>

<javac srcdir="${test.dir}"
destdir="${test.classes}"
source="1.4"
debug="1"
optimize="0">
<classpath refid="project.class.path" />
</javac>

<copy todir="${test.classes}">
<fileset dir="${test.dir}">
<exclude name="**/*"/>
</fileset>
</copy>
</target>

<!-- Jars up project -->
<target name="jars" depends="compile">

<mkdir dir="${build.lib}"/>
<jar jarfile="${build.lib}/greenmail-${version}.jar" basedir="${build.classes}"/>
<copy todir="${build.lib}" >
<fileset dir="lib">
<include name="*.jar" />
</fileset>
</copy>
</target>

<target name="dist" depends="clean,jars,javadocs">

<zip zipfile="${build.dir}/greenmail-${version}-src.zip" update="false">
<zipfileset dir=".">
<include name="lib/**"/>

<include name="src/**"/>
<include name="build.xml"/>

<include name="*.html"/>
<include name="stylesheet.css"/>
<include name="pics/*.gif"/>
<include name="pics/*.jpg"/>
<include name="pics/*.jpeg"/>

<include name="lgpl.txt"/>
</zipfileset>
<zipfileset dir="${build.dir}">
<include name="javadocs/**"/>
</zipfileset>
</zip>
<zip zipfile="${build.dir}/greenmail-${version}.zip" update="false">
<zipfileset dir="${build.dir}">
<include name="lib/greenmail*.jar"/>
<include name="lib/activation*.jar"/>
<include name="lib/javamail*.jar"/>
<include name="lib/slf4j*.jar"/>
</zipfileset>
<zipfileset dir=".">
<include name="*.html"/>
<include name="stylesheet.css"/>
<include name="pics/greenmail.gif"/>
<include name="pics/footer.gif"/>

<include name="lgpl.txt"/>
</zipfileset>
<zipfileset dir="${build.dir}">
<include name="javadocs/**"/>
<include name="greenmail-${version}-src.zip"/>
</zipfileset>
</zip>

</target>

<target name="main" depends="jars" description="Default target to generate build products minus docs"/>
<target name="all" depends="main,docs" description="Generate build products including docs"/>

<!-- ==========================================================================================
DOCUMENTATION GENERATION
========================================================================================== -->

<!-- Creates all docs -->
<target name="docs" depends="javadocs" description="generates all the documentation"/>

<!-- Creates javadocs -->
<target name="javadocs" depends="compile" description="Generates the javadocs" unless="skip.javadocs">
<!-- this is a workaround for IDE problems -->
<delete>
<fileset dir="${build.dir}">
<include name="**/*Test.class"/>
</fileset>
</delete>

<mkdir dir="${build.javadocs}"/>
<javadoc packagenames="com.icegreen.*"
sourcepath="${java.dir}"
destdir="${build.javadocs}">
<classpath refid="project.class.path" />
<doclet name="com.sun.tools.doclets.standard.Standard">
<param name="-author"/>
<param name="-version"/>
<param name="-doctitle" value="${Name}"/>
<param name="-windowtitle" value="${Name} API"/>
<param name="-link" value="http://java.sun.com/j2se/1.4/docs/api/"/>
<param name="-link" value="http://java.sun.com/products/javamail/javadocs/"/>
<param name="-link" value="http://jakarta.apache.org/avalon/api/"/>
</doclet>
</javadoc>
</target>

<target name="clean">
<delete dir="${build.dir}" />
</target>

<target name="test" depends="compile" >
<mkdir dir="test.runs"/>
<junit printsummary="yes" haltonfailure="no" failureproperty="junit.failure" >
<jvmarg value="-Xmx512M"/>
<classpath>
<pathelement location="${test.classes}"/>
<pathelement path="${build.classes}"/>
<pathelement path="${project.class.path}"/>
</classpath>

<formatter type="plain"/>
<batchtest fork="yes" todir="test.runs">
<fileset dir="${test.dir}">
<include name="**/*Test.java"/>
</fileset>
</batchtest>
</junit>
<fail message="Test failure(s)" if="junit.failure"/>
</target>
</project>
175 changes: 175 additions & 0 deletions examples.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>GreenMail - Email Test Servers</title>
<link rel="stylesheet" href="stylesheet.css" type="text/css" />
</head>
<body>

<div id="header">
<img src="pics/greenmail.gif" title="GreenMail - Testing SMTP, POP3, IMAP">
Latest Release GreenMail v1.3.1b - May 27th, 2009
</div>

<div class="pages">
<span class="page"><a href="readme.html">About</a></span>
| <span class="page"><a href="examples.html">Examples</a></span>
| <span class="page"><a href="jboss-service.html">JBoss</a></span>
| <span class="page"><a href="faq.html">FAQ</a></span>
| <span class="page"><a href="javadocs/index.html">Javadocs</a></span>
| <span class="page"><a href="http://www.icegreen.com/articles">Blog</a></span>
| <span class="page"><a href="http://sourceforge.net/project/showfiles.php?group_id=159695">Download</a></span>
| <span class="page"><a href="feedback.html">Feedback</a></span>
</div>
<br>

<table width="100%">
<tr><td>


<h2>Testing Your Sending Code - Example 1</h2>
<div class="codeSample"><pre>
public void testYourSendingCode() throws Exception {
GreenMail greenMail = new GreenMail(); //uses test ports by default
greenMail.start();
GreenMailUtil.sendTextEmailTest("[email protected]", "[email protected]", "subject", "body");
assertEquals("subject", greenMail.getReceivedMessages()[0].getSubject());
greenMail.stop();
//<b>That's it!</b>
}
</pre>
</div>


<h2>Testing Your Sending Code - Example 2</h2>
This example does basically the same as the one above but is more complex as it's purpose is to demonstrate additional features and utility methods.
<div class="codeSample"><pre>
GreenMail greenMail;

protected void tearDown() throws Exception {
if (null!=greenMail) {
greenMail.stop();
}
super.tearDown();
}

public void testYourSendingCode() throws Exception {
//start all email servers using non-default ports.
//See <a href="javadocs/com/icegreen/greenmail/util/ServerSetupTest.html">Javadoc</a> for details
greenMail = new GreenMail(ServerSetupTest.ALL);
greenMail.start();

//use random content to avoid potential residual lingering problems
final String subject = GreenMailUtil.random();
final String body = GreenMailUtil.random();

<b>&lt;PLACE YOUR SEND CODE HERE&gt;</b>

//wait for max 5s for 1 email to arrive
//waitForIncomingEmail() is useful if you're sending stuff asynchronously in a separate thread
assertTrue(greenMail.waitForIncomingEmail(5000, 1));

//Retrieve using GreenMail API
Message[] messages = greenMail.getReceivedMessages();
assertEquals(1, messages.length);
assertEquals(subject, messages[0].getSubject());
assertEquals(body, GreenMailUtil.getBody(messages[0]).trim());

//if your send content as a 2 part multipart...
assertTrue(messages[0].getContent() instanceof MimeMultipart);
MimeMultipart mp = (MimeMultipart) messages[0].getContent();
assertEquals(2, mp.getCount());
BodyPart bp;
assertEquals(multipart_body1, GreenMailUtil.getBody(mp.getBodyPart(0)).trim());
assertEquals(multipart_body2, GreenMailUtil.getBody(mp.getBodyPart(1)).trim());
}
</pre>
</div>


<h2>Test Your Retrieving Code</h2>
<div class="codeSample"><pre>
protected void tearDown() throws Exception {
if (null!=greenMail) {
greenMail.stop();
}
super.tearDown();
}

/**
* Places an email in a users inbox directly for testing your retrieval code
*/
public void testYourRetrievingCode_by_insertion() throws Exception {
//start all email servers using non-default ports.
//See <a href="javadocs/com/icegreen/greenmail/util/ServerSetupTest.html">Javadoc</a> for details
greenMail = new GreenMail(ServerSetupTest.ALL);
greenMail.start();

//use random content to avoid potential residual lingering problems
final String subject = GreenMailUtil.random();
final String body = GreenMailUtil.random();
MimeMessage message = <b>&lt;CONSTRUCT MESSAGE &gt;</b>
User user = greenMail.setUser("[email protected]", "waelc", "soooosecret");
user.deliver(message);
assertEquals(1, greenMail.getReceivedMessages().length);

<b>&lt;PLACE YOUR RETRIVE AND VERIFICATION CODE HERE&gt;</b>
}

/**
* Sends an email using SMTP for testing your retrieval code
*/
public void testYourRetrievingCodeBySending() throws Exception {
//start all email servers using non-default ports.
//See <a href="javadocs/com/icegreen/greenmail/util/ServerSetupTest.html">Javadoc</a> for details
greenMail = new GreenMail(ServerSetupTest.ALL);
greenMail.start();

//use random content to avoid potential residual lingering problems
final String subject = GreenMailUtil.random();
final String body = GreenMailUtil.random();
GreenMailUtil.sendTextEmailTest("[email protected]", "[email protected]", subject, body);

//wait for max 5s for 1 email to arrive
assertTrue(greenMail.waitForIncomingEmail(5000, 1));

<b>&lt;PLACE YOUR RETRIVE AND VERIFICATION CODE HERE&gt;</b>
}
</pre>
</div>

</td>
<td class="gads">
<script type="text/javascript"><!--
google_ad_client = "pub-2104788530662674";
google_ad_width = 160;
google_ad_height = 600;
google_ad_format = "160x600_as";
google_ad_type = "text";
google_ad_channel ="2021857531";
google_color_border = "FDEFD2";
google_color_bg = "FDEFD2";
google_color_link = "0000CC";
google_color_url = "008000";
google_color_text = "000000";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
</tr>

</table>

<br>
<br>
<br>
<div class="footer">
Copyright &copy; 2009 <a href="http://www.icegreen.com">Icegreen Technologies</a>
<br><br>
<a href="http://sourceforge.net/donate/index.php?group_id=159695"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" border="0" alt="Support This Project" /> </a>
<a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=159695&amp;type=1" width="88" height="31" border="0" alt="SourceForge.net Logo" /></a>
</div>

</body>
</html>
Loading

0 comments on commit bf33663

Please sign in to comment.