mail_grabber 1.0.0.rc1
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 +7 -0
- data/CHANGELOG.md +5 -0
- data/LICENSE.txt +21 -0
- data/README.md +66 -0
- data/lib/mail_grabber.rb +8 -0
- data/lib/mail_grabber/database_helper.rb +250 -0
- data/lib/mail_grabber/database_queries.rb +102 -0
- data/lib/mail_grabber/delivery_method.rb +28 -0
- data/lib/mail_grabber/error.rb +11 -0
- data/lib/mail_grabber/railtie.rb +14 -0
- data/lib/mail_grabber/version.rb +5 -0
- data/lib/mail_grabber/web.rb +36 -0
- data/lib/mail_grabber/web/application.rb +135 -0
- data/lib/mail_grabber/web/application_helper.rb +14 -0
- data/lib/mail_grabber/web/application_router.rb +79 -0
- data/lib/mail_grabber/web/assets/images/mail_grabber515x500.png +0 -0
- data/lib/mail_grabber/web/assets/javascripts/application.js +539 -0
- data/lib/mail_grabber/web/assets/stylesheets/application.css +159 -0
- data/lib/mail_grabber/web/views/_message_attachment_template.html.erb +7 -0
- data/lib/mail_grabber/web/views/_message_content_template.html.erb +53 -0
- data/lib/mail_grabber/web/views/_message_list_template.html.erb +14 -0
- data/lib/mail_grabber/web/views/index.html.erb +46 -0
- metadata +114 -0
@@ -0,0 +1,159 @@
|
|
1
|
+
* {
|
2
|
+
box-sizing: border-box;
|
3
|
+
}
|
4
|
+
|
5
|
+
html,
|
6
|
+
body {
|
7
|
+
font-family: Arial;
|
8
|
+
margin: 0;
|
9
|
+
height: 100%;
|
10
|
+
}
|
11
|
+
|
12
|
+
dt {
|
13
|
+
color: #999999;
|
14
|
+
float: left;
|
15
|
+
font-weight: bold;
|
16
|
+
}
|
17
|
+
|
18
|
+
dd {
|
19
|
+
margin: 0 0 0 50px;
|
20
|
+
}
|
21
|
+
|
22
|
+
iframe {
|
23
|
+
border: none;
|
24
|
+
width: 100%;
|
25
|
+
}
|
26
|
+
|
27
|
+
[data-content-type="message-list"] li:hover {
|
28
|
+
background-color: #f2f2f2;
|
29
|
+
}
|
30
|
+
|
31
|
+
.row {
|
32
|
+
display: flex;
|
33
|
+
}
|
34
|
+
|
35
|
+
.flex-30 {
|
36
|
+
flex: 30%;
|
37
|
+
}
|
38
|
+
|
39
|
+
.flex-50 {
|
40
|
+
flex: 50%;
|
41
|
+
}
|
42
|
+
|
43
|
+
.flex-70 {
|
44
|
+
flex: 70%;
|
45
|
+
}
|
46
|
+
|
47
|
+
.active {
|
48
|
+
background-color: #cccccc;
|
49
|
+
}
|
50
|
+
|
51
|
+
.align-right {
|
52
|
+
text-align: right;
|
53
|
+
}
|
54
|
+
|
55
|
+
.align-center {
|
56
|
+
text-align: center;
|
57
|
+
}
|
58
|
+
|
59
|
+
.background-color-light-blue {
|
60
|
+
background-color: #ccebff;
|
61
|
+
}
|
62
|
+
|
63
|
+
.background-color-light-green {
|
64
|
+
background-color: #d6f5d6;
|
65
|
+
}
|
66
|
+
|
67
|
+
.background-color-light-red {
|
68
|
+
background-color: #ffcccc;
|
69
|
+
}
|
70
|
+
|
71
|
+
.border-bottom {
|
72
|
+
border-bottom: 1px solid;
|
73
|
+
}
|
74
|
+
|
75
|
+
.border-left {
|
76
|
+
border-left: 1px solid;
|
77
|
+
}
|
78
|
+
|
79
|
+
.border-right {
|
80
|
+
border-right: 1px solid;
|
81
|
+
}
|
82
|
+
|
83
|
+
.border-top {
|
84
|
+
border-top: 1px solid;
|
85
|
+
}
|
86
|
+
|
87
|
+
.color-black {
|
88
|
+
color: black;
|
89
|
+
}
|
90
|
+
|
91
|
+
.color-gray {
|
92
|
+
color: #999999;
|
93
|
+
}
|
94
|
+
|
95
|
+
.cursor-pointer {
|
96
|
+
cursor: pointer;
|
97
|
+
}
|
98
|
+
|
99
|
+
.font-size-0_9 {
|
100
|
+
font-size: 0.9em;
|
101
|
+
}
|
102
|
+
|
103
|
+
.height-90 {
|
104
|
+
height: 90%;
|
105
|
+
}
|
106
|
+
|
107
|
+
.height-89_2 {
|
108
|
+
height: 89.2%;
|
109
|
+
}
|
110
|
+
|
111
|
+
.hide {
|
112
|
+
display: none;
|
113
|
+
}
|
114
|
+
|
115
|
+
.line-height-1_5 {
|
116
|
+
line-height: 1.5em;
|
117
|
+
}
|
118
|
+
|
119
|
+
.margin-left-auto {
|
120
|
+
margin-left: auto;
|
121
|
+
}
|
122
|
+
|
123
|
+
.no-bullet {
|
124
|
+
list-style-type: none;
|
125
|
+
margin-left: 0;
|
126
|
+
padding-left: 0;
|
127
|
+
}
|
128
|
+
|
129
|
+
.no-margin {
|
130
|
+
margin: 0;
|
131
|
+
}
|
132
|
+
|
133
|
+
.no-text-decoration {
|
134
|
+
text-decoration: none;
|
135
|
+
}
|
136
|
+
|
137
|
+
.padding-16 {
|
138
|
+
padding: 16px;
|
139
|
+
}
|
140
|
+
|
141
|
+
.padding-20 {
|
142
|
+
padding: 20px;
|
143
|
+
}
|
144
|
+
|
145
|
+
.padding-left-10 {
|
146
|
+
padding-left: 10px;
|
147
|
+
}
|
148
|
+
|
149
|
+
.padding-top-bottom-10 {
|
150
|
+
padding: 10px 0;
|
151
|
+
}
|
152
|
+
|
153
|
+
.padding-top-bottom-16 {
|
154
|
+
padding: 16px 0;
|
155
|
+
}
|
156
|
+
|
157
|
+
.vertical-scroll {
|
158
|
+
overflow-y: scroll;
|
159
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
<template data-content-type="message-content-template">
|
2
|
+
<div class="border-bottom border-top padding-top-bottom-16" data-content-type="message-subject">
|
3
|
+
</div>
|
4
|
+
|
5
|
+
<div class="row border-bottom line-height-1_5">
|
6
|
+
<div class="flex-70">
|
7
|
+
<dl data-content-type="metadata">
|
8
|
+
</dl>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<time class="flex-30 align-right color-gray font-size-0_9 padding-top-bottom-16" data-content-type="message-sent-at">
|
12
|
+
</time>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<ul class="border-bottom hide no-bullet no-margin padding-top-bottom-16" data-content-type="message-attachments">
|
16
|
+
</ul>
|
17
|
+
|
18
|
+
<ul class="row border-bottom no-bullet no-margin">
|
19
|
+
<div class="flex-70">
|
20
|
+
<div class="row">
|
21
|
+
<li class="active border-right cursor-pointer padding-16" data-message-tab="html">
|
22
|
+
HTML
|
23
|
+
</li>
|
24
|
+
<li class="border-right cursor-pointer padding-16" data-message-tab="text">
|
25
|
+
Plain text
|
26
|
+
</li>
|
27
|
+
<li class="border-right cursor-pointer padding-16" data-message-tab="raw">
|
28
|
+
Raw
|
29
|
+
</li>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div class="flex-30">
|
34
|
+
<div class="row">
|
35
|
+
<li class="background-color-light-red border-left border-right cursor-pointer margin-left-auto padding-16" data-content-type="message-delete-tab">
|
36
|
+
Delete
|
37
|
+
</li>
|
38
|
+
<li class="cursor-pointer background-color-light-blue padding-16" data-content-type="message-close-tab">
|
39
|
+
Close
|
40
|
+
</li>
|
41
|
+
</div>
|
42
|
+
</div>
|
43
|
+
</ul>
|
44
|
+
|
45
|
+
<iframe class="padding-top-bottom-16" scrolling="no" data-content-type="message-html-body" data-message-content="html">
|
46
|
+
</iframe>
|
47
|
+
|
48
|
+
<pre class="hide" data-content-type="message-text-body" data-message-content="text">
|
49
|
+
</pre>
|
50
|
+
|
51
|
+
<pre class="hide" data-content-type="message-raw-body" data-message-content="raw">
|
52
|
+
</pre>
|
53
|
+
</template>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<template data-content-type="message-list-template">
|
2
|
+
<li class="cursor-pointer border-bottom padding-top-bottom-10">
|
3
|
+
<div class="row">
|
4
|
+
<div class="flex-70" data-content-type="message-senders">
|
5
|
+
</div>
|
6
|
+
|
7
|
+
<time class="flex-30 align-right color-gray font-size-0_9" data-content-type="message-sent-at">
|
8
|
+
</time>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div data-content-type="message-subject">
|
12
|
+
</div>
|
13
|
+
</li>
|
14
|
+
</template>
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
|
4
|
+
<head>
|
5
|
+
<title>MailGrabber</title>
|
6
|
+
|
7
|
+
<meta charset="utf-8" />
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
9
|
+
|
10
|
+
<link rel="icon" type="image/png" href="<%= root_path %>/images/mail_grabber515x500.png" />
|
11
|
+
<link rel="stylesheet" href="<%= root_path %>/stylesheets/application.css" type="text/css" charset="utf-8">
|
12
|
+
|
13
|
+
<script src="<%= root_path %>/javascripts/application.js"></script>
|
14
|
+
</head>
|
15
|
+
|
16
|
+
<body data-root-path="<%= root_path %>">
|
17
|
+
<h1 class="border-bottom no-margin padding-20">
|
18
|
+
M<img src="<%= root_path %>/images/mail_grabber515x500.png" height="22" />ilGrabber
|
19
|
+
</h1>
|
20
|
+
|
21
|
+
<div class="row height-90">
|
22
|
+
<div class="flex-30 border-right">
|
23
|
+
<ul class="no-bullet no-margin padding-20">
|
24
|
+
<div class="row">
|
25
|
+
<li class="flex-50 align-center background-color-light-green border-bottom border-right border-top cursor-pointer padding-16" data-content-type="message-reload-tab">
|
26
|
+
Reload
|
27
|
+
</li>
|
28
|
+
<li class="flex-50 align-center background-color-light-red border-bottom border-top cursor-pointer padding-16" data-content-type="message-clear-tab">
|
29
|
+
Clear
|
30
|
+
</li>
|
31
|
+
</div>
|
32
|
+
</ul>
|
33
|
+
|
34
|
+
<ul class="height-89_2 line-height-1_5 no-bullet no-margin padding-20 vertical-scroll" data-content-type="message-list">
|
35
|
+
</ul>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
<div class="flex-70 padding-20 vertical-scroll" data-content-type="message-content" data-background-image="<%= root_path %>/images/mail_grabber515x500.png">
|
39
|
+
</div>
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<%= render '_message_list_template.html.erb' %>
|
43
|
+
<%= render '_message_content_template.html.erb' %>
|
44
|
+
<%= render '_message_attachment_template.html.erb' %>
|
45
|
+
</body>
|
46
|
+
</html>
|
metadata
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: mail_grabber
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0.rc1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Norbert Szivós
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-03-20 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: mail
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.5'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.5'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rack
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.2'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: sqlite3
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.4'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.4'
|
55
|
+
description: Delivery Method to grab emails and inspect on a web interface. We can
|
56
|
+
use this Delivery Method with Ruby on Rails ActionMailer or other solutions.
|
57
|
+
email:
|
58
|
+
- sysqa@yahoo.com
|
59
|
+
executables: []
|
60
|
+
extensions: []
|
61
|
+
extra_rdoc_files:
|
62
|
+
- LICENSE.txt
|
63
|
+
- README.md
|
64
|
+
files:
|
65
|
+
- CHANGELOG.md
|
66
|
+
- LICENSE.txt
|
67
|
+
- README.md
|
68
|
+
- lib/mail_grabber.rb
|
69
|
+
- lib/mail_grabber/database_helper.rb
|
70
|
+
- lib/mail_grabber/database_queries.rb
|
71
|
+
- lib/mail_grabber/delivery_method.rb
|
72
|
+
- lib/mail_grabber/error.rb
|
73
|
+
- lib/mail_grabber/railtie.rb
|
74
|
+
- lib/mail_grabber/version.rb
|
75
|
+
- lib/mail_grabber/web.rb
|
76
|
+
- lib/mail_grabber/web/application.rb
|
77
|
+
- lib/mail_grabber/web/application_helper.rb
|
78
|
+
- lib/mail_grabber/web/application_router.rb
|
79
|
+
- lib/mail_grabber/web/assets/images/mail_grabber515x500.png
|
80
|
+
- lib/mail_grabber/web/assets/javascripts/application.js
|
81
|
+
- lib/mail_grabber/web/assets/stylesheets/application.css
|
82
|
+
- lib/mail_grabber/web/views/_message_attachment_template.html.erb
|
83
|
+
- lib/mail_grabber/web/views/_message_content_template.html.erb
|
84
|
+
- lib/mail_grabber/web/views/_message_list_template.html.erb
|
85
|
+
- lib/mail_grabber/web/views/index.html.erb
|
86
|
+
homepage: https://github.com/MailToolbox/mail_grabber
|
87
|
+
licenses:
|
88
|
+
- MIT
|
89
|
+
metadata:
|
90
|
+
homepage_uri: https://github.com/MailToolbox/mail_grabber
|
91
|
+
source_code_uri: https://github.com/MailToolbox/mail_grabber
|
92
|
+
changelog_uri: https://github.com/MailToolbox/mail_grabber/blob/main/CHANGELOG.md
|
93
|
+
bug_tracker_uri: https://github.com/MailToolbox/mail_grabber/issues
|
94
|
+
documentation_uri: https://rubydoc.info/gems/mail_grabber
|
95
|
+
post_install_message:
|
96
|
+
rdoc_options: []
|
97
|
+
require_paths:
|
98
|
+
- lib
|
99
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.5.0
|
104
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - ">"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: 1.3.1
|
109
|
+
requirements: []
|
110
|
+
rubygems_version: 3.1.4
|
111
|
+
signing_key:
|
112
|
+
specification_version: 4
|
113
|
+
summary: Grab mails to inspect with MailGrabber.
|
114
|
+
test_files: []
|