<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Helvetica, Arial, sans-serif">Ladies, gentlemen, aliens,
      robots, and other DFW Perl mongers,<br>
      <br>
      We've got a working mail server now in our git repo!  I'm not
      saying it works "right" though <span class="moz-smiley-s3"><span>
          ;-) </span></span>, because it needs to correctly follow and
      appropriately respond to all parts of an RFC-compliant SMTP
      conversation.  Right now you can kick it off, connect to it, send
      some arbitrary recognized SMTP commands, compose an email, and
      disconnect.  The email is stored on disk on the server in a
      configurable location.<br>
      <br>
      The area of the code that needs love is the actual SMTP logic. 
      The work of getting a functional and secure daemon safely routing
      to a catalyst application back end has been done for us by some
      random nice person.  What remains is for us to fill in the SMTP
      logic, and as John, the "iceman" Fields suggests-- we can do this
      as part of our next meeting by studying an actual SMTP
      conversation and filling in the "holes" that remain in the
      business logic of this very catalyst controller module: <a
href="https://github.com/dfwperl/spammenot/blob/catalyst_app/lib/SpamMeNot/Controller/Root.pm">https://github.com/dfwperl/spammenot/blob/catalyst_app/lib/SpamMeNot/Controller/Root.pm</a><br>
      <br>
      Examples of SMTP conversations can be found via Google.  Here's
      just one example: <a
        href="http://www.samlogic.net/articles/smtp-commands-reference.htm">http://www.samlogic.net/articles/smtp-commands-reference.htm</a><br>
      <br>
      If anyone wants to hack on that in between now and the next
      meeting, that is greatly encouraged.  Clone the repo with git, do
      a git checkout of the "catalyst_app" branch, and work on the
      Root.pm controller.  Please keep everyone posted of your progress
      and thoughts if you do.  Certainly this isn't mandatory; no one
      need feel obligated to join in.  This is purely for fun and
      learning.<br>
      <br>
      Things to be aware of include the fact that the app is comprised
      of two running services: the daemon and the catalyst app backend,
      and both of them run in the foreground when launched from their
      shell scripts: "./spammenot" and "./backend" respectively.  This
      is so you can easily kill them off and restart them after hacking
      on the code.  Obviously this behavior will be changed when the
      code is out of "alpha" status.  Another thing to note is that this
      hasn't been tested on Windows or Mac.  It depends on /dev/shm at
      the moment so you can try to run it on non-Linux platforms but
      probably with limited success.  Check out README.md (in the
      aforementioned git repo branch) for notes on getting started.<br>
      <br>
      If you want some place to test the code and don't have your own
      Linux machine or server, ping me and I'll get you appropriate
      access to the group's server so you test it out, and/or try to
      break it.<br>
      <br>
      Cheers!<br>
      <br>
      --Tommy Butler<br>
    </font>
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
    <meta http-equiv="content-type" content="text/html;
      charset=ISO-8859-1">
  </body>
</html>