mailtrap 0.2.1 → 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 8f8ebec30c2db47c2767aa07c023862cd7db74170cc156003307c55530502a56
4
+ data.tar.gz: eb649353ced2c73f9ca0eb08311d4f6d1bea52f039b06eb71c3d7eae1aab20ce
5
+ SHA512:
6
+ metadata.gz: 6f62f15dad68d35c03d6b40fdbee216cd3046f72f4035c617f77447a38f80417708cc617a7711f93c963d49ce3b058a6a97a532fc413b7944a4d5f53de454c66
7
+ data.tar.gz: 51ec61c78c6a61de109d28435dcc1b4ed229300e5c6100ab4961d79e18973c7877c479f38c4259f7a3483c2840f19b034c61344be98d187ad9ce1de795bae2bb
metadata CHANGED
@@ -1,102 +1,47 @@
1
- --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
1
+ --- !ruby/object:Gem::Specification
4
2
  name: mailtrap
5
- version: !ruby/object:Gem::Version
6
- version: 0.2.1
7
- date: 2007-10-12 00:00:00 +01:00
8
- summary: Mailtrap is a mock SMTP server for use in Rails development
9
- require_paths:
10
- - lib
11
- email: self@mattmower.com
12
- homepage: " by Matt Mower <self@mattmower.com>"
13
- rubyforge_project: rubymatt
14
- description: "Mailtrap is a mock SMTP server for use in Rails development. Mailtrap waits on your choosen port for a client to connect and talks _just enough_ SMTP protocol for ActionMailer to successfully deliver its message. Mailtrap makes *no* attempt to actually deliver messages and, instead, writes them into a file (hence the name \tMail_trap_). Handy tip: use tail -f to see emails being received. You can configure the hostname (default: localhost) and port (default: 2525) for the server and also where the messages get written (default: /var/tmp/mailtrap.log). == FEATURES/PROBLEMS:"
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- - |
29
- -----BEGIN CERTIFICATE-----
30
- MIIDMjCCAhqgAwIBAgIBADANBgkqhkiG9w0BAQUFADA/MQ0wCwYDVQQDDARzZWxm
31
- MRkwFwYKCZImiZPyLGQBGRYJbWF0dG1vd2VyMRMwEQYKCZImiZPyLGQBGRYDY29t
32
- MB4XDTA3MTAwMzIzMjkwN1oXDTA4MTAwMjIzMjkwN1owPzENMAsGA1UEAwwEc2Vs
33
- ZjEZMBcGCgmSJomT8ixkARkWCW1hdHRtb3dlcjETMBEGCgmSJomT8ixkARkWA2Nv
34
- bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQejbmmtJD6FfTwc9+
35
- QsWEqNFgNL8+tbrpxUuT8J2j0O0Pvkhw3wGT3tzMdXlnaz+OwUz8qU6HGwDAiK/3
36
- zWAGuBRApkIAooTryRWLYmkZfnZidG8A2msmRwQd84Rkzn6Vgad+46o6jQfJSgy1
37
- pDsZVfsRcUZ0dWetp+ll7Lq/4HyecdNgRfmrQh6pmKwIUmh5cj91iBX3NEqx5TN6
38
- AKkYIOBMuOnBMNrXvApH10ruvus1d/PiJIjAavvbgSih+vyB8NTXTF4kOhKXnF0w
39
- Zx3CF5asJejopRGNUcY9Vmjr7WiRHhUnFjc8hs385MlQNKEdAirVwIIgWfkQwJO+
40
- GQ0CAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFL99
41
- Fuw4VZwExQog/QSr8zIFfj1WMA0GCSqGSIb3DQEBBQUAA4IBAQATHmiqgSFKeJQM
42
- QZjefTiRH6q1TgnJEt0/ylb9gNUCBpIFC1QOtuf68NAt90n6q1CZ51W3EreOPmi2
43
- k2UxzfnPH6av2HQxmC1Xwv+X/eKF65shy/D75XWeCKLwynlXbA0cSjkV8/jSDB9I
44
- pPXX1PjTNmzS2oNGSBroG567Uod41eAjlFA2FQTSWu/lDaYvLBjupGzz59/lZfkl
45
- oCvK+OORDtfJ/a8CdYuD7PltGIEGV9srqdsEsmcrXGHaZt+jGRLYi60h5ZEd7lOm
46
- 1WEvMXOXF3ofp87Yw1MSpG7yQyr0i5DW6VM3v6AP0ABxoM4p80JDHhwAmKWRWWQk
47
- yMQ/kUco
48
- -----END CERTIFICATE-----
49
-
50
- post_install_message:
51
- authors:
52
- - Matt Mower
53
- files:
54
- - History.txt
55
- - Manifest.txt
56
- - README.txt
57
- - Rakefile
58
- - bin/mailtrap
59
- - lib/mailtrap.rb
60
- test_files:
61
- - test/test_mailtrap.rb
62
- rdoc_options:
63
- - --main
64
- - README.txt
65
- extra_rdoc_files:
66
- - History.txt
67
- - Manifest.txt
68
- - README.txt
69
- executables:
70
- - mailtrap
6
+ authors:
7
+ - Railsware Products Studio, Inc.
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2022-06-14 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Official mailtrap.io API client
14
+ email:
15
+ - support@mailtrap.io
16
+ executables: []
71
17
  extensions: []
72
-
18
+ extra_rdoc_files: []
19
+ files: []
20
+ homepage: https://github.com/railsware/mailtrap-ruby
21
+ licenses:
22
+ - MIT
23
+ metadata:
24
+ homepage_uri: https://github.com/railsware/mailtrap-ruby
25
+ source_code_uri: https://github.com/railsware/mailtrap-ruby
26
+ changelog_uri: https://github.com/railsware/mailtrap-ruby/blob/main/CHANGELOG.md
27
+ rubygems_mfa_required: 'true'
28
+ post_install_message:
29
+ rdoc_options: []
30
+ require_paths:
31
+ - lib
32
+ required_ruby_version: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 2.7.0
37
+ required_rubygems_version: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
73
42
  requirements: []
74
-
75
- dependencies:
76
- - !ruby/object:Gem::Dependency
77
- name: daemons
78
- version_requirement:
79
- version_requirements: !ruby/object:Gem::Version::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: 1.0.8
84
- version:
85
- - !ruby/object:Gem::Dependency
86
- name: trollop
87
- version_requirement:
88
- version_requirements: !ruby/object:Gem::Version::Requirement
89
- requirements:
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- version: "1.7"
93
- version:
94
- - !ruby/object:Gem::Dependency
95
- name: hoe
96
- version_requirement:
97
- version_requirements: !ruby/object:Gem::Version::Requirement
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: 1.3.0
102
- version:
43
+ rubygems_version: 3.1.6
44
+ signing_key:
45
+ specification_version: 4
46
+ summary: Official mailtrap.io API client
47
+ test_files: []
data/History.txt DELETED
@@ -1,5 +0,0 @@
1
- == 1.0.0 / 2007-10-03
2
-
3
- * 1 major enhancement
4
- * Birthday!
5
-
data/Manifest.txt DELETED
@@ -1,6 +0,0 @@
1
- History.txt
2
- Manifest.txt
3
- README.txt
4
- Rakefile
5
- bin/mailtrap
6
- lib/mailtrap.rb
data/README.txt DELETED
@@ -1,75 +0,0 @@
1
- mailtrap
2
- by Matt Mower <self@mattmower.com>
3
- http://matt.blogs.it/
4
-
5
- == DESCRIPTION:
6
-
7
- Mailtrap is a mock SMTP server for use in Rails development.
8
-
9
- Mailtrap waits on your choosen port for a client to connect and talks _just enough_ SMTP protocol for ActionMailer to successfully deliver its message.
10
-
11
- Mailtrap makes *no* attempt to actually deliver messages and, instead, writes them into a file (hence the name Mail_trap_). Handy tip: use tail -f to see emails being received.
12
-
13
- You can configure the hostname (default: localhost) and port (default: 2525) for the server and also where the messages get written (default: /var/tmp/mailtrap.log).
14
-
15
- == FEATURES/PROBLEMS:
16
-
17
- * Lightweight, no setup
18
- * Runs as a daemon with start, stop, etc..
19
- * Tested with ActionMailer's SMTP delivery method
20
- * Very, very, dumb ... might not work with an arbitrary SMTP client
21
-
22
- == SYNOPSIS:
23
-
24
- To use the defaults host:localhost, port:2525, file:/var/log/mailtrap.log
25
-
26
- * mailtrap start
27
-
28
- Customise startup:
29
-
30
- * sudo mailtrap start --host my.host --port 25 --once --file=/var/log/messages.txt
31
-
32
- (sudo because you want to use restricted port 25)
33
-
34
- For more info:
35
-
36
- * mailtrap --help (to see Daemonization options)
37
- * mailtrap start --help (to see Mailtrap options)
38
-
39
- == REQUIREMENTS:
40
-
41
- * Hoe rubygem
42
- * Rubygems rubygem
43
- * Daemons rubygem
44
- * Trollop rubygem
45
-
46
- All these are automatically installed if you use gem install -y
47
-
48
- == INSTALL:
49
-
50
- * sudo gem install -y mailtrap
51
-
52
- == LICENSE:
53
-
54
- (The MIT License)
55
-
56
- Copyright (c) 2007 Matt Mower, Software Heretics
57
-
58
- Permission is hereby granted, free of charge, to any person obtaining
59
- a copy of this software and associated documentation files (the
60
- 'Software'), to deal in the Software without restriction, including
61
- without limitation the rights to use, copy, modify, merge, publish,
62
- distribute, sublicense, and/or sell copies of the Software, and to
63
- permit persons to whom the Software is furnished to do so, subject to
64
- the following conditions:
65
-
66
- The above copyright notice and this permission notice shall be
67
- included in all copies or substantial portions of the Software.
68
-
69
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
70
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
71
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
72
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
73
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
74
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
75
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile DELETED
@@ -1,20 +0,0 @@
1
- # -*- ruby -*-
2
-
3
- require 'rubygems'
4
- require 'hoe'
5
- require './lib/mailtrap.rb'
6
-
7
- Hoe.new('mailtrap', Mailtrap::VERSION ) do |p|
8
- p.rubyforge_name = 'rubymatt'
9
- p.author = 'Matt Mower'
10
- p.email = 'self@mattmower.com'
11
- p.summary = 'Mailtrap is a mock SMTP server for use in Rails development'
12
- p.description = p.paragraphs_of('README.txt', 2..5).join("\n\n")
13
- p.url = p.paragraphs_of('README.txt', 0).first.split(/\n/)[1..-1]
14
- p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
15
- p.remote_rdoc_dir = 'mailtrap'
16
- p.extra_deps << ['daemons','>= 1.0.8']
17
- p.extra_deps << ['trollop','>= 1.7']
18
- end
19
-
20
- # vim: syntax=Ruby
data/bin/mailtrap DELETED
@@ -1,28 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # Run the mailtrap server
4
- #
5
-
6
- require 'rubygems'
7
- require 'daemons'
8
- require 'mailtrap'
9
-
10
- opts = Trollop::options do
11
- opt :host, "The host SMTP clients will connect to", :default => 'localhost'
12
- opt :port, "The port SMTP clients will connect to", :default => 2525
13
- opt :once, "Whether to terminate after serving the first client", :default => false
14
- opt :file, "File where messages get written", :default => "/var/tmp/mailtrap.log"
15
- end
16
-
17
- options = {
18
- :dir_mode => :normal,
19
- :dir => '/var/tmp',
20
- :multiple => true,
21
- :mode => :exec,
22
- :backtrace => true,
23
- :log_output => true
24
- }
25
-
26
- Daemons.run_proc( 'mailtrap', options ) do
27
- Mailtrap.new( opts[:host], opts[:port], opts[:once], opts[:file] )
28
- end
data/lib/mailtrap.rb DELETED
@@ -1,130 +0,0 @@
1
-
2
- require 'rubygems'
3
- require 'daemons'
4
- require 'socket'
5
- require 'trollop'
6
-
7
- #
8
- # Mailtrap creates a TCP server that listens on a specified port for SMTP
9
- # clients. Accepts the connection and talks just enough of the SMTP protocol
10
- # for them to deliver a message which it writes to disk.
11
- #
12
- class Mailtrap
13
- VERSION = '0.2.1'
14
-
15
- # Create a new Mailtrap on the specified host:port. If once it true it
16
- # will listen for one message then exit. Specify the msgdir where messages
17
- # are written.
18
- def initialize( host, port, once, msgfile )
19
- @host = host
20
- @port = port
21
- @once = once
22
- @msgfile = msgfile
23
-
24
- File.open( @msgfile, "a" ) do |file|
25
- file.puts "\n* Mailtrap started at #{@host}:#{port}\n"
26
- end
27
-
28
- service = TCPServer.new( @host, @port )
29
- accept( service )
30
- end
31
-
32
- # Service one or more SMTP client connections
33
- def accept( service )
34
- while session = service.accept
35
-
36
- class << session
37
- def get_line
38
- line = gets
39
- line.chomp! unless line.nil?
40
- line
41
- end
42
- end
43
-
44
- begin
45
- serve( session )
46
- rescue Exception => e
47
- puts "Erk! #{e.message}"
48
- end
49
-
50
- break if @once
51
- end
52
- end
53
-
54
- # Write a plain text dump of the incoming email to a text
55
- # file. The file will be in the @msgdir folder and will
56
- # be called smtp0001.msg, smtp0002.msg, and so on.
57
- def write( from, to_list, message )
58
-
59
- # Strip SMTP commands from To: and From:
60
- from.gsub!( /MAIL FROM:\s*/, "" )
61
- to_list = to_list.map { |to| to.gsub( /RCPT TO:\s*/, "" ) }
62
-
63
- # Append to the end of the messages file
64
- File.open( @msgfile, "a" ) do |file|
65
- file.puts "* Message begins"
66
- file.puts "From: #{from}"
67
- file.puts "To: #{to_list.join(", ")}"
68
- file.puts "Body:"
69
- file.puts message
70
- file.puts "\n* Message ends"
71
- end
72
-
73
- end
74
-
75
- # Talk pidgeon-SMTP to the client to get them to hand over the message
76
- # and go away.
77
- def serve( connection )
78
- connection.puts( "220 #{@host} MailTrap ready ESTMP" )
79
- helo = connection.get_line # whoever they are
80
- puts "Helo: #{helo}"
81
-
82
- if helo =~ /^EHLO\s+/
83
- puts "Seen an EHLO"
84
- connection.puts "250-#{@host} offers just ONE extension my pretty"
85
- connection.puts "250 HELP"
86
- end
87
-
88
- # Accept MAIL FROM:
89
- from = connection.get_line
90
- connection.puts( "250 OK" )
91
- puts "From: #{from}"
92
-
93
- to_list = []
94
-
95
- # Accept RCPT TO: until we see DATA
96
- loop do
97
- to = connection.get_line
98
- break if to.nil?
99
-
100
- if to =~ /^DATA/
101
- connection.puts( "354 Start your message" )
102
- break
103
- else
104
- puts "To: #{to}"
105
- to_list << to
106
- connection.puts( "250 OK" )
107
- end
108
- end
109
-
110
- # Capture the message body terminated by <CR>.<CR>
111
- lines = []
112
- loop do
113
- line = connection.get_line
114
- break if line.nil? || line == "."
115
- lines << line
116
- puts "+ #{line}"
117
- end
118
-
119
- # We expect the client will go away now
120
- connection.puts( "250 OK" )
121
- connection.gets # Quit
122
- connection.puts "221 Seeya"
123
- connection.close
124
- puts "And we're done with that bozo!"
125
-
126
- write( from, to_list, lines.join( "\n" ) )
127
-
128
- end
129
-
130
- end
File without changes
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
Binary file