| name | age | message | |
|---|---|---|---|
| |
.gitignore | Thu Sep 17 20:03:56 -0700 2009 | |
| |
LICENSE | Thu Oct 16 21:00:16 -0700 2008 | |
| |
README | Thu Sep 17 20:05:38 -0700 2009 | |
| |
Rakefile | Fri Sep 25 14:12:32 -0700 2009 | |
| |
VERSION | Sat Jan 16 04:42:19 -0800 2010 | |
| |
astrotrain.gemspec | Sat Jan 16 04:44:08 -0800 2010 | |
| |
config/ | Wed Sep 02 23:32:18 -0700 2009 | |
| |
lib/ | Sat Jan 16 04:40:50 -0800 2010 | |
| |
test/ | Sat Jan 16 04:40:50 -0800 2010 |
README
astrotrain ========== NOTE: Astrotrain is a full gem now. If you're looking for the old Astrotrain on merb: http://github.com/entp/astrotrain/tree/merb git://github.com/entp/astrotrain.git (merb branch) Scans incoming emails for mapped recipients and sends an HTTP POST somewhere. # setup a config file. # Point the queue_path at a directory that your mail server dumps each raw incoming mail. require 'astrotrain' Astrotrain.load path do DataMapper.setup(:default, { :adapter => "mysql", :database => "astrotrain", :username => "root", :host => "localhost" }) end Astrotrain::Message.queue_path = "/path/to/maildir" Astrotrain::Mapping::Transport.processing = true # start up IRB irb -I /var/astrotrain/lib -r config.rb # manage mappings LIB=/var/astrotrain/lib CONFIG=config.rb rake at:mappings LIB=/var/astrotrain/lib CONFIG=config.rb rake at:map EMAIL=support@foo.com DEST=http://foo.com/email LIB=/var/astrotrain/lib CONFIG=config.rb rake at:unmap MAP=123 # start the server that runs over the queue directory LIB=/var/astrotrain/lib CONFIG=config.rb rake at:process # start the sinatra API ruby -I /var/astrotrain/lib /var/astrotrain/lib/astrotrain/api.rb config.rb A single Astrotrain process currently handles email for two production applications, processing thousands daily. It's far from perfect, but definitely usable. TODO ==== Gem package - I realize the load paths could be simplified a bunch, so a gem package will come soon. Docs bounced emails
