The IMAPGenerator is a new component included within the Mail block.
Simply put, it generates an XML listing of messages from an IMAP mailbox.
Setup
Get the JavaMail API jar from http://java.sun.com/products/javamail/, and the JAF activation.jar from http://java.sun.com/beans/glasgow/jaf.html. Put them in your WEB-INF/lib/
directory and restart your servlet container.
Next, include the following line in your sitemap.xmap:
<map:generator label="content" logger="sitemap.generator.imap" name="imap" src="org.apache.cocoon.generation.IMAPGenerator"/>
Usage
Now you should be good to go. The Generator is currently configured via parameters:
<map:match pattern="inbox"> <map:generate type="imap"> <map:parameter name="host" value="{request-param:host}"/> <map:parameter name="user" value="{request-param:user}"/> <map:parameter name="pass" value="{request-param:pass}"/> </map:generate> <map:serialize type="xml"/> </map:match>
Sample Output
The generator currently generates XML using the "imap" prefix and the namespace URI of http://apache.org/cocoon/imap/1.0/
.
<imap:imap xmlns:imap="http://apache.org/cocoon/imap/1.0/"> <imap:messages> <imap:msg> <imap:subject>sample subject</imap:subject> <imap:from>tony collen <foo@bar.org></imap:from> <imap:sentDate>Wed Sep 24 21:36:33 CDT 2003</imap:sentDate> <imap:num>1</imap:num> </imap:msg> </imap:messages> </imap:imap>
Note
The IMAPGenerator (along with the entire Mail block) is considered unstable, and the contracts and APIs may change suddenly without warning, such as the output, or method of configuration.