Apache James, aka Java Apache Mail Enterprise Server or some variation thereof, is an open source SMTP and POP3 mail transfer agent and NNTP news server written entirely in Java. James is maintained by contributors to the Apache Software Foundation, with initial contributions by Serge Knystautas. The James project contains "matcher" and "mailet" APIs, which allow users to write their own mail-handling code, such as to filter spam. A matcher is used to classify messages based on some criteria, and then determines whether the message should be passed to an appropriate mailet for processing. Mailets are so-called due to their conceptual similarity to a servlet, and arose because Sun Microsystems declined a proposal to include mail-handling in the servlet implementation. James ships with a variety of pre-written matchers and mailets to serve common tasks.