airmail 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c9710202c8bf57ba445332b14803f9f87149ffb4
4
- data.tar.gz: 59baa6d1b4bc05dc2742c815c943b2a5ab161ce4
3
+ metadata.gz: e0571b8e40b39f183158dcaa629ec8991d697b5f
4
+ data.tar.gz: c78054f2e35c4aeb2359dcd8dee8b0850ad1ea39
5
5
  SHA512:
6
- metadata.gz: a780b078507aa04f219dde6e1a28fc76bfbbd6ca1a6d2478c6826e5a400dc1b49336c0d7d7d74f6cf1f4f009f61bc10071324a44888da5e66b31a74a86ab75e0
7
- data.tar.gz: 75f69ff448caa3d4117d2c6bcd747847f4c9976f31b757defc9d74af57cb0dafa53b08ef9112d55193166cdecdea6621d080c2d835a06e1b73191596f764ff4e
6
+ metadata.gz: 0da7448e0b0822ae408244ad235dd7c0b6c2b5a41cf59ab52dc630de3a334392a71bf16a272c75562075e9e46003cc62e7fcc4a55659b368848df922f5426688
7
+ data.tar.gz: da4c8c774b03d7e42a1c5040981cb9dc74dba8315f32554aecf708f12768cecaeba55b94b06637b84fe8cbbcc59251138734f231f7481b3e1192ab07d679f6a3
data/README.md ADDED
@@ -0,0 +1,32 @@
1
+ # Airmail
2
+ Incoming Email Router. Bringing you from SMTP text format straight through routing to a ruby controller.
3
+ This project is looking to give you the tools to classify and handle incoming emails.
4
+
5
+ Set up routes, much like you would in Ruby on Rails. Perhaps in /config/mail_routes.rb?
6
+
7
+ Airmail.route do
8
+ deliver AttachmentController if has_attachment?
9
+
10
+ deliver DefaultEmailController
11
+ end
12
+
13
+ A controller can look like:
14
+
15
+ class DefaultEmailController < Airmail::Controller
16
+ def receive
17
+ logger.info("Email '#{subject}' received from #{from}")
18
+ end
19
+ end
20
+
21
+
22
+ Then receive emails!
23
+
24
+ mail = <<EOF
25
+ FROM: bob@thomas.com
26
+ TO: anyone@yourdomain.com
27
+ Subject: This is a great email!
28
+
29
+ This is the body.
30
+ EOF
31
+
32
+ Airmail.receive( mail )
@@ -6,7 +6,7 @@ module Airmail
6
6
  raise RoutesNotDefined unless defined? @@route
7
7
 
8
8
  mail = Mail.new( original )
9
- MailProcessor.new(mail, @@route).receive
9
+ MailProcessor.new(mail, @@route, original).receive
10
10
 
11
11
  mail
12
12
  end
@@ -1,7 +1,8 @@
1
1
  class MailProcessor
2
2
 
3
- def initialize mail, route
3
+ def initialize mail, route, original=nil
4
4
  @mail = mail
5
+ @raw_mail = original
5
6
  @route = route
6
7
  default_controller
7
8
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: airmail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trevor Grayson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-10 00:00:00.000000000 Z
11
+ date: 2016-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mail
@@ -38,12 +38,13 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 2.0.0
41
- description: Ruby on Wings!
41
+ description: Incoming Email Router
42
42
  email: trevor@trevorgrayson.com
43
43
  executables: []
44
44
  extensions: []
45
45
  extra_rdoc_files: []
46
46
  files:
47
+ - README.md
47
48
  - lib/airmail.rb
48
49
  - lib/airmail/airmail.rb
49
50
  - lib/airmail/airmail_default_controller.rb