# Anyone written ruby milters?

**URL:** <https://www.ruby-forum.com/t/anyone-written-ruby-milters/117817>\
**Category:** Ruby\
**Created:** [October 20, 2007, 7:55pm UTC](https://www.ruby-forum.com/t/anyone-written-ruby-milters/117817 "2007-10-20T19:55:55Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jay-levitt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a88e57/32.png) [@jay-levitt](https://www.ruby-forum.com/u/jay-levitt)\
**Post date:** [October 20, 2007, 7:55pm UTC](https://www.ruby-forum.com/t/anyone-written-ruby-milters/117817/1 "2007-10-20T19:55:55Z")

</div>

I have an aging mailing-list handler that uses a combination of  
procmail,  
sendmail’s custom mailers, and hairy sendmail.cf rules, and I want to  
port  
it to a milter that I’ll write in Ruby.

I’ve found two milter-related projects: one on RAA that hasn’t been  
touched  
since its first release a few years ago, and one on rubyforge that  
doesn’t  
have any code at all. I’ve written to both project owners, as well as  
one  
guy who’d expressed interest in the second project, but haven’t heard  
back  
from anyone.

I suppose my choices are (a) wrap libmilter from scratch with  
Ruby::Inline,  
(b) wrap libmilter from scratch with SWIG bindings, © update the RAA  
project to add specs and work with current versions of Ruby and  
libmilter.

The former sounds easier, since I don’t care about creating  
multi-language  
bindings. I don’t know if there are things that Ruby::Inline can’t do,  
though.

It’s also interesting to note that the RAA project goes farther than  
just  
wrapping libmilter; it (like its ancestor Perl::Milter) creates a whole  
worker thread-pool system. I’m not positive I need that at my low  
volume,  
but then I don’t know what the failure/blocking/queueing semantics of  
milters are.

Has anyone done any similar work with milters?

---

<div class="post-metadata">

**Author:** ![jay-levitt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a88e57/32.png) [@jay-levitt](https://www.ruby-forum.com/u/jay-levitt)\
**Post date:** [October 24, 2007, 2:25am UTC](https://www.ruby-forum.com/t/anyone-written-ruby-milters/117817/2 "2007-10-24T02:25:45Z")

</div>

On Oct 20, 9:54 am, Jay L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I suppose my choices are (a) wrap libmilter from scratch with Ruby::Inline,  
> but then I don’t know what the failure/blocking/queueing semantics of  
> milters are.
> 
> Has anyone done any similar work with milters?
> 
> –  
> Jay L. |  
> Boston, MA | My character doesn’t like it when they  
> Faster: jay at jay dot fm | cry or shout or hit.[http://www.jay.fm](http://www.jay.fm) | - Kristoffer

+1. I was looking at using ruby based milter as well. I don’t know  
what I can offer here, but am willing to spend time on this.

Mike B.

---

<div class="post-metadata">

**Author:** ![jay-levitt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/a88e57/32.png) [@jay-levitt](https://www.ruby-forum.com/u/jay-levitt)\
**Post date:** [October 24, 2007, 10:55am UTC](https://www.ruby-forum.com/t/anyone-written-ruby-milters/117817/3 "2007-10-24T10:55:40Z")

</div>

On Tue, 23 Oct 2007 17:23:54 -0700, barjunk wrote:

> +1. I was looking at using ruby based milter as well. I don’t know  
> what I can offer here, but am willing to spend time on this.

I finally heard back from the author of the RAA code, and he’s given me  
access to his repository; I haven’t even checked yet to see if it’s  
newer  
than the 0.1 on RAA, but give it a few weeks and I should have something  
going.
