

Mailman: An incoming email processing microframework in Ruby - Titanous
http://blog.titanous.com/post/867488976/mailman-released

======
spooneybarger
bad name... as there is a _very_ established project already using the name..
<http://www.gnu.org/software/mailman/index.html>

~~~
JoachimSchipper
Yes. Sorry to say, but this was a huge red flag for me - if the author is
apparently unaware of a project that it is that well-known, he has no business
writing mail software. (I know that he comments on this very page that he is
aware of GNU Mailman...)

~~~
spooneybarger
check the comments on his blog. he knew about it ahead of time and didnt think
it was an issue because someone could just google 'ruby mailman'. apparently
the idea of encroaching on another project's name never occurred to him as an
extremely impolite ( to put it kindly ) thing to do.

------
atomon
I'm not sure why everyone's focusing on the name, but this looks like a great
project. I was just wishing that something like this existed yesterday, and
poof, here it is. Great work! My only suggestion would be to support
imap/gmail integration and the like without requiring an extra step such as
getmail.

~~~
Titanous
Dealing with IMAP is tricky. In order to support it properly, and leave the
messages on the server after processing, a list has to be stored on the
client. I'd rather leave that to a mature MDA than implement it myself.

However, I will look into providing a easy configuration for Gmail.

~~~
atomon
Sounds great! I'd love to be able to register for a gmail account and then
immediately be able to start processing incoming mail.

------
sigil
Wow. When choosing a name for a new project, isn't it standard practice to
look for name collisions first -- google it, check freshmeat, apt-cache
search, make search in freebsd ports, etc?

~~~
Titanous
I knew of GNU Mailman when I chose the name.

~~~
sigil
Hmm, then it's going to look like you're picking a fight (whether or not
that's really the case). Get creative with the name, it's more fun anyway.
Maybe some HNers can help you out.

~~~
bradgessler
Mailrb Mailerb ...

------
koenigdavidmj
Looks a lot like a light version of the Pythonic and much beastlier Lamson
(<http://www.lamsonproject.org/>) created by Mr. Shaw.

~~~
Titanous
Yes, it was modeled after Lamson in some ways, but I didn't think that writing
yet another mailserver was necessary, and I wanted Rails integration.

~~~
quadhome
Interesting. When I wrote my lamson-based daily journaling software, I also
found the yet-another-mail-server aspect of Lamson redundant.

The syntax of mailman looks a bit nicer. Good unit tests.

Any example apps?

~~~
macmac
"daily journaling software" - that sounds interesting. Is it available?

~~~
quadhome
<http://github.com/quad/stardate>

It's whimsical. It's lamson.

You can demo it by e-mailing punchit@stardate.quadhome.com with your first
entry.

It'll kick back a confirmation e-mail. Reply to it.

After that, it'll e-mail you daily. Reply to those with your journal.

~~~
macmac
Thanks - I will give a try.

------
davidu
<http://lmgtfy.com/?q=Mailman>

Very popular...very well known.

------
donw
Very cool; mail handling is an area where Ruby needs work.

One question: Does it properly quote non-ASCII characters in mail headers?
That's been a big pain point for me over the years, which I fixed by being
lazy and using Javamail.

Good names for mail gems are hard to come by; my Javamail wrapper for JRuby
ended up going through four different names because Mail, Mailer, Postman and
Postal were all taken (we finally called the damn thing Postinius).

I'll at least offer my suggestion for a name; what about 'Takkyu'? Takkyubin
is a very famous delivery service over here in Japan.

~~~
Titanous
It uses the Mail gem to do all the parsing, and I think that it handles non-
ASCII just fine.

<http://github.com/mikel/mail/>

~~~
donw
Ah, RFC2822 is new in the past six months, then. If he's fixed the email
address parsing bugs, then I have a lot less work to do now. :)

------
crazydiamond
Could you tell us what other similar projects/gems exist in ruby? How is this
different or better than them ?

Are you handling gmail accounts, TLS authentication ? Is this 1.9 compliant ?

~~~
Titanous
Astrotrain is the only other ruby project I know of:
<http://github.com/technoweenie/astrotrain>

Mailman is very lightweight, has Rails integration, and doesn't require a
database to store routes (Astrotrain does). Instead, it uses a Sinatra-like
DSL to define routes and conditions.

Gmail accounts can be handled using a MDA like getmail and the built-in
maildir support in Mailman.

Mailman works fully with 1.8.6, 1.8.7, 1.9.1, 1.9.2, REE and JRuby.

------
JoachimSchipper
I think the MTA->Maildir->Mailman route is odd; why not go MTA->Mailman
directly, like, say, GNU Mailman, maildrop/procmail, or any other mail filter
I've ever seen?

~~~
Titanous
You can use it as a local MDA/"mail filter" as well. Mailman accepts messages
via Standard Input.

I don't recommend this, because you have to load and unload Ruby every time a
message comes in. While this may be okay if you only have a few messages
coming in, it will quickly become unbearable if you have any sort of volume.
This will be even worse if you loading the Rails environment, as it can take
several seconds or several tens of seconds, depending on the app size.

Side Note: There are at least three different projects using the name
maildrop, and dealing with email, and I figured out which one you were talking
about through context very easily.

------
technoweenie
Astrotrain powers Lighthouse and Tender Support:
<http://github.com/technoweenie/astrotrain>

~~~
Titanous
I think you'll find that Mailman is much more lightweight (it doesn't require
a database and uses Mail, not TMail), and easier to use. Obviously you had
very specific requirements when writing Astrotrain, but I'd love it if you'd
try Mailman.

~~~
cdibona
I've tried mailman, over 10+ years ago.

~~~
Titanous
Yeah, I tried it too. I've never been a big fan. Shared passwords for
moderation, really?

If people really hate the name, I'll take suggestions, but I tried pretty hard
to come up with alternatives already.

Personally I don't think it's a big deal because it's easy enough to search
for 'ruby mailman', it's not like we don't have to do it for just about every
other project (mustache, integrity, chef, god, etc).

~~~
catch23
Well if there are specific issues on mailman, it will make it that much hard
to google for, especially since the other mailman project is similar. Your
project name doesn't even make sense... a mailman delivers mail, not route
incoming mail.

The one who actually routes/sorts your real-paper mail is probably just called
the mail clerk at the post office. The mailman is just the guy who delivers
the mail -- hence the name of the 10+ year old project.

