<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>