mailtrap 0.1.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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.1.0
7
- date: 2007-10-04 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 for a client to connect and talks just enough SMTP for ActionMailer to send its message which Mailtrap will write into a file for you to inspect. Mailtrap makes no attempt to actually deliver anything (hence the name Mail*trap*). You can configure the hostname (default: localhost) and port (default: 1025) for the server and also where the messages get written (default: /tmp). Messages will get written to files named smtp0001.msg, smtp0002.msg, and so on. == FEATURES/PROBLEMS: * Test with ActionMailer's SMTP delivery method * Very, very, dumb ... might not work with an arbitrary Mail client == SYNOPSIS:"
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,58 +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. Mailtrap waits for
8
- a client to connect and talks just enough SMTP for ActionMailer to send its message
9
- which Mailtrap will write into a file for you to inspect. Mailtrap makes no
10
- attempt to actually deliver anything (hence the name Mail*trap*).
11
-
12
- You can configure the hostname (default: localhost) and port (default: 1025)
13
- for the server and also where the messages get written (default: /tmp). Messages
14
- will get written to files named smtp0001.msg, smtp0002.msg, and so on.
15
-
16
- == FEATURES/PROBLEMS:
17
-
18
- * Test with ActionMailer's SMTP delivery method
19
- * Very, very, dumb ... might not work with an arbitrary Mail client
20
-
21
- == SYNOPSIS:
22
-
23
- mailtrap --host localhost --port 8025 --once
24
-
25
- == REQUIREMENTS:
26
-
27
- * Rubygems
28
- * Daemons rubygem
29
- * Trollop rubygem
30
-
31
- == INSTALL:
32
-
33
- * sudo gem install -y mailtrap
34
-
35
- == LICENSE:
36
-
37
- (The MIT License)
38
-
39
- Copyright (c) 2007 Matt Mower, Software Heretics
40
-
41
- Permission is hereby granted, free of charge, to any person obtaining
42
- a copy of this software and associated documentation files (the
43
- 'Software'), to deal in the Software without restriction, including
44
- without limitation the rights to use, copy, modify, merge, publish,
45
- distribute, sublicense, and/or sell copies of the Software, and to
46
- permit persons to whom the Software is furnished to do so, subject to
47
- the following conditions:
48
-
49
- The above copyright notice and this permission notice shall be
50
- included in all copies or substantial portions of the Software.
51
-
52
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
53
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
54
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
55
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
56
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
57
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
58
- 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 :msgdir, "Where messages get stored", :default => "/var/tmp"
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[:msgdir] )
28
- end
data/lib/mailtrap.rb DELETED
@@ -1,121 +0,0 @@
1
-
2
- require 'rubygems'
3
- require 'daemons'
4
- require 'socket'
5
- require 'trollop'
6
-
7
- class Mailtrap
8
- VERSION = '0.1.0'
9
-
10
- def initialize( host, port, once, msgdir )
11
- @host = host
12
- @port = port
13
- @once = once
14
- @msgdir = msgdir
15
-
16
- puts "Mailtrap starting at #{@host}:#{port} and writing to #{@msgdir}"
17
- service = TCPServer.new( @host, @port )
18
- accept( service )
19
- end
20
-
21
- def accept( service )
22
- while session = service.accept
23
-
24
- class << session
25
- def get_line
26
- line = gets
27
- line.chomp! unless line.nil?
28
- line
29
- end
30
- end
31
-
32
- begin
33
- serve( session )
34
- rescue Exception => e
35
- puts "Erk! #{e.message}"
36
- end
37
-
38
- break if @once
39
- end
40
- end
41
-
42
- def write( from, to_list, message )
43
-
44
- from.gsub!( /MAIL FROM:\s*/, "" )
45
- to_list = to_list.map { |to| to.gsub( /RCPT TO:\s*/, "" ) }
46
-
47
- n = 1
48
- Dir.chdir( @msgdir ) do
49
- files = Dir.glob( "smtp*.msg" )
50
- if files.length > 0
51
- n = 1 + Integer( files.last.gsub( /smtp(\d+)\.msg/, '\1' ) )
52
- end
53
- end
54
-
55
- File.open( File.join( @msgdir, "smtp%04d.msg" % n ), "w" ) do |file|
56
- file.puts "FROM: #{from}"
57
- to_list.each do |to|
58
- file.puts "TO: #{to}"
59
- end
60
- file.puts "----"
61
- file.puts message
62
- end
63
-
64
- end
65
-
66
- def serve( connection )
67
- connection.puts( "220 #{@host} MailTrap ready ESTMP" )
68
- helo = connection.get_line # whoever they are
69
- puts "Helo: #{helo}"
70
-
71
- if helo =~ /^EHLO\s+/
72
- puts "Seen an EHLO"
73
- connection.puts "250-#{@host} offers just ONE extension my pretty"
74
- connection.puts "250 HELP"
75
- end
76
-
77
- from = connection.get_line
78
- connection.puts( "250 OK" )
79
- puts "From: #{from}"
80
-
81
- to_list = []
82
-
83
- loop do
84
- to = connection.get_line
85
- break if to.nil?
86
-
87
- if to =~ /^DATA/
88
- connection.puts( "354 Start your message" )
89
- break
90
- else
91
- puts "To: #{to}"
92
- to_list << to
93
- connection.puts( "250 OK" )
94
- end
95
- end
96
-
97
- puts "We know who we're sending to."
98
-
99
- lines = []
100
-
101
- loop do
102
- line = connection.get_line
103
- break if line.nil? || line == "."
104
- lines << line
105
- puts "+ #{line}"
106
- end
107
-
108
- puts "Message read"
109
- connection.puts( "250 OK" )
110
-
111
- connection.gets # Quit
112
- connection.puts "221 Seeya"
113
-
114
- connection.close
115
- puts "And we're done with that bozo!"
116
-
117
- write( from, to_list, lines.join( "\n" ) )
118
-
119
- end
120
-
121
- end
File without changes
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
Binary file