email_reply_trimmer 0.1.8 → 0.1.13
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 +5 -5
- data/email_reply_trimmer.gemspec +1 -1
- data/lib/email_reply_trimmer.rb +59 -50
- data/lib/email_reply_trimmer/embedded_email_matcher.rb +5 -3
- data/lib/email_reply_trimmer/signature_matcher.rb +9 -2
- data/test/before/forwarded_apple.txt +1 -0
- data/test/before/forwarded_gmail.txt +1 -0
- data/test/elided/{embedded_email_polish.txt → embedded_email_polish_1.txt} +0 -0
- data/test/elided/embedded_email_polish_2.txt +7 -0
- data/test/elided/embedded_email_ukrainian.txt +17 -0
- data/test/elided/forwarded_apple.txt +15 -0
- data/test/elided/forwarded_gmail.txt +15 -0
- data/test/elided/signatures.txt +3 -0
- data/test/elided/spam_1.txt +75 -0
- data/test/elided/spam_2.txt +152 -0
- data/test/emails/{embedded_email_polish.txt → embedded_email_polish_1.txt} +0 -0
- data/test/emails/embedded_email_polish_2.txt +11 -0
- data/test/emails/embedded_email_ukrainian.txt +19 -0
- data/test/emails/forwarded_apple.txt +17 -0
- data/test/emails/forwarded_gmail.txt +17 -0
- data/test/emails/signatures.txt +3 -0
- data/test/emails/spam_1.txt +75 -0
- data/test/emails/spam_2.txt +174 -0
- data/test/embedded/forwarded_apple.txt +13 -0
- data/test/embedded/forwarded_gmail.txt +14 -0
- data/test/test_email_reply_trimmer.rb +5 -1
- data/test/trimmed/{embedded_email_polish.txt → embedded_email_polish_1.txt} +0 -0
- data/test/trimmed/embedded_email_polish_2.txt +2 -0
- data/test/trimmed/embedded_email_ukrainian.txt +1 -0
- data/test/trimmed/forwarded_apple.txt +1 -0
- data/test/trimmed/forwarded_gmail.txt +1 -0
- data/test/trimmed/spam_1.txt +0 -0
- data/test/trimmed/spam_2.txt +21 -0
- metadata +30 -10
- data/Gemfile.lock +0 -38
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c094ba472eabd06ed02276c4ec9e42cb32ccb873871e46e55c46cd4640425470
|
4
|
+
data.tar.gz: 968cee2c9b3de46ef86814dd84ee8449c400e9c5fa8d61363cbb90064204fadf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c71cad161a2aaa27e813ff63f91b1e10359d73ffc95d0d01df0374dc8cc9a2ba506985cd4e33d12e63b3f41cd9e6f66bbe42293feea3f6e968c7d90e79a88de
|
7
|
+
data.tar.gz: e7e3661094d8b1183f572b7e847cac62a71215a341d12b627e0b2d5cfedfdad161f858b8aba3d97463d5ffda5919211da2b268dbd75e7edc48a95811d1e5b481
|
data/email_reply_trimmer.gemspec
CHANGED
data/lib/email_reply_trimmer.rb
CHANGED
@@ -6,7 +6,7 @@ require_relative "email_reply_trimmer/email_header_matcher"
|
|
6
6
|
require_relative "email_reply_trimmer/quote_matcher"
|
7
7
|
|
8
8
|
class EmailReplyTrimmer
|
9
|
-
VERSION = "0.1.
|
9
|
+
VERSION = "0.1.13"
|
10
10
|
|
11
11
|
DELIMITER = "d"
|
12
12
|
EMBEDDED = "b"
|
@@ -54,7 +54,7 @@ class EmailReplyTrimmer
|
|
54
54
|
end
|
55
55
|
|
56
56
|
# when the reply is at the end of the email
|
57
|
-
if pattern
|
57
|
+
if is_reply_at_end?(pattern)
|
58
58
|
index = pattern =~ /t[et]*$/
|
59
59
|
pattern = ""
|
60
60
|
lines = lines[index..-1]
|
@@ -78,8 +78,8 @@ class EmailReplyTrimmer
|
|
78
78
|
|
79
79
|
# if there is some text before a huge quote ending the email,
|
80
80
|
# then remove the quote
|
81
|
-
if pattern =~ /
|
82
|
-
index = pattern =~ /
|
81
|
+
if pattern =~ /t?e*[qbe]+$/
|
82
|
+
index = pattern =~ /t?e*[qbe]+$/
|
83
83
|
pattern = pattern[0..index]
|
84
84
|
lines = lines[0..index]
|
85
85
|
end
|
@@ -144,6 +144,12 @@ class EmailReplyTrimmer
|
|
144
144
|
|
145
145
|
if index = pattern =~ /(?:h[eqd]*?){3,}[tq]/
|
146
146
|
embedded = lines[index..-1].join("\n").strip
|
147
|
+
elsif index = pattern =~ /b(?:[eqd]*){3,}[tq]/
|
148
|
+
# Exception for email clients (macOS / iOS) which embed fwd emails in quotes.
|
149
|
+
embedded = lines[index + 1..-1].map { |l| l.gsub(/^>\s*/, '') }.join("\n").strip
|
150
|
+
end
|
151
|
+
|
152
|
+
if index
|
147
153
|
before = lines[0...(pattern[0...index] =~ /e*(b[eqd]*|b*[ed]*)$/)].join("\n").strip
|
148
154
|
return [embedded, before]
|
149
155
|
end
|
@@ -151,59 +157,62 @@ class EmailReplyTrimmer
|
|
151
157
|
|
152
158
|
private
|
153
159
|
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
# fix embedded email markers that might span over multiple lines
|
176
|
-
(
|
177
|
-
EmbeddedEmailMatcher::ON_DATE_SOMEONE_WROTE_REGEXES +
|
178
|
-
EmbeddedEmailMatcher::SOMEONE_WROTE_ON_DATE_REGEXES +
|
179
|
-
EmbeddedEmailMatcher::DATE_SOMEONE_WROTE_REGEXES +
|
180
|
-
[EmbeddedEmailMatcher::DATE_SOMEONE_EMAIL_REGEX]
|
181
|
-
).each do |r|
|
182
|
-
text.gsub!(r) do |m|
|
183
|
-
m.count("\n") > 4 ? m : m.gsub(/\n+[[:space:]]*/, " ")
|
184
|
-
end
|
185
|
-
end
|
160
|
+
def self.preprocess!(text)
|
161
|
+
# normalize line endings
|
162
|
+
text.gsub!("\r\n", "\n")
|
163
|
+
|
164
|
+
# remove PGP markers
|
165
|
+
text.gsub!(/\A-----BEGIN PGP SIGNED MESSAGE-----\n(?:Hash: \w+)?\s+/i, "")
|
166
|
+
text.gsub!(/^-----BEGIN PGP SIGNATURE-----$[\s\S]+^-----END PGP SIGNATURE-----/, "")
|
167
|
+
|
168
|
+
# remove unsubscribe links
|
169
|
+
text.gsub!(/^Unsubscribe: .+@.+(\n.+http:.+)?\s*\z/i, "")
|
170
|
+
|
171
|
+
# remove alias-style quotes marker
|
172
|
+
text.gsub!(/^.*>{5} "[^"\n]+" == .+ writes:/, "")
|
173
|
+
|
174
|
+
# change enclosed-style quotes format
|
175
|
+
text.gsub!(/^>>> ?(.+) ?>>>$\n([\s\S]+?)\n^<<< ?\1 ?<<<$/) { $2.gsub(/^/, "> ") }
|
176
|
+
text.gsub!(/^>{4,}[[:blank:]]*$\n([\s\S]+?)\n^<{4,}[[:blank:]]*$/) { $1.gsub(/^/, "> ") }
|
177
|
+
|
178
|
+
# fix all quotes formats
|
179
|
+
text.gsub!(/^((?:[[:blank:]]*[[:alpha:]]*[>|])+)/) { $1.gsub(/([[:alpha:]]+>|\|)/, ">") }
|
186
180
|
|
187
|
-
|
188
|
-
|
181
|
+
# fix embedded email markers that might span over multiple lines
|
182
|
+
(
|
183
|
+
EmbeddedEmailMatcher::ON_DATE_SOMEONE_WROTE_REGEXES +
|
184
|
+
EmbeddedEmailMatcher::SOMEONE_WROTE_ON_DATE_REGEXES +
|
185
|
+
EmbeddedEmailMatcher::DATE_SOMEONE_WROTE_REGEXES +
|
186
|
+
[EmbeddedEmailMatcher::DATE_SOMEONE_EMAIL_REGEX]
|
187
|
+
).each do |r|
|
188
|
+
text.gsub!(r) do |m|
|
189
|
+
m.count("\n") > 4 ? m : m.gsub(/\n+[[:space:]]*/, " ")
|
190
|
+
end
|
189
191
|
end
|
190
192
|
|
191
|
-
|
192
|
-
|
193
|
+
# remove leading/trailing whitespaces
|
194
|
+
text.strip!
|
195
|
+
end
|
196
|
+
|
197
|
+
def self.compute_elided(text, lines)
|
198
|
+
elided = []
|
193
199
|
|
194
|
-
|
195
|
-
|
200
|
+
t = 0
|
201
|
+
l = 0
|
196
202
|
|
197
|
-
|
198
|
-
|
199
|
-
t += 1
|
200
|
-
l += 1
|
201
|
-
end
|
202
|
-
elided << text[t]
|
203
|
+
while t < text.size
|
204
|
+
while l < lines.size && text[t] == lines[l]
|
203
205
|
t += 1
|
206
|
+
l += 1
|
204
207
|
end
|
205
|
-
|
206
|
-
|
208
|
+
elided << text[t]
|
209
|
+
t += 1
|
207
210
|
end
|
208
211
|
|
212
|
+
elided.join("\n").strip
|
213
|
+
end
|
214
|
+
|
215
|
+
def self.is_reply_at_end?(pattern)
|
216
|
+
pattern =~ /^b[^t]+t[et]*$/
|
217
|
+
end
|
209
218
|
end
|
@@ -54,6 +54,8 @@ class EmbeddedEmailMatcher
|
|
54
54
|
end
|
55
55
|
|
56
56
|
# суббота, 14 марта 2015 г. пользователь etewiah написал:
|
57
|
+
# 23 mar 2017 21:25 "Neil Lalonde" <meta@discoursemail.com> napisał(a):
|
58
|
+
# 30 серп. 2016 р. 20:45 "Arpit" no-reply@example.com пише:
|
57
59
|
DATE_SOMEONE_WROTE_MARKERS = [
|
58
60
|
# Russian
|
59
61
|
["пользователь", "написал"],
|
@@ -65,8 +67,8 @@ class EmbeddedEmailMatcher
|
|
65
67
|
|
66
68
|
DATE_SOMEONE_WROTE_REGEXES = DATE_SOMEONE_WROTE_MARKERS.map do |user, wrote|
|
67
69
|
user.size == 0 ?
|
68
|
-
|
69
|
-
|
70
|
+
/\d{4}.{1,80}\n?.{0,80}?#{wrote}:/ :
|
71
|
+
/\d{4}.{1,80}#{user}.{0,80}\n?.{0,80}?#{wrote}:/
|
70
72
|
end
|
71
73
|
|
72
74
|
# Max Mustermann <try_discourse@discoursemail.com> schrieb am Fr., 28. Apr. 2017 um 11:53 Uhr:
|
@@ -84,7 +86,7 @@ class EmbeddedEmailMatcher
|
|
84
86
|
# 2013/10/2 camilohollanda <info@discourse.org>
|
85
87
|
# вт, 5 янв. 2016 г. в 23:39, Erlend Sogge Heggen <info@discourse.org>:
|
86
88
|
# ср, 1 апр. 2015, 18:29, Denis Didkovsky <info@discourse.org>:
|
87
|
-
DATE_SOMEONE_EMAIL_REGEX =
|
89
|
+
DATE_SOMEONE_EMAIL_REGEX = /\d{4}.{1,80}\s?<[^@<>]+@[^@<>.]+\.[^@<>]+>:?$/
|
88
90
|
|
89
91
|
# codinghorror via Discourse Meta wrote:
|
90
92
|
# codinghorror via Discourse Meta <info@discourse.org> schrieb:
|
@@ -20,7 +20,7 @@ class SignatureMatcher
|
|
20
20
|
/^[[:blank:]]*[[:word:]]+ from mobile/i,
|
21
21
|
/^[[:blank:]]*[\(<]*Sent (from|via|with|by) .+[\)>]*/i,
|
22
22
|
/^[[:blank:]]*From my .{1,20}/i,
|
23
|
-
/^[[:blank:]]*Get Outlook for
|
23
|
+
/^[[:blank:]]*Get Outlook for /i,
|
24
24
|
# French
|
25
25
|
/^[[:blank:]]*Envoyé depuis (mon|Yahoo Mail)/i,
|
26
26
|
# German
|
@@ -34,10 +34,17 @@ class SignatureMatcher
|
|
34
34
|
/^[[:blank:]]*Enviado do meu /i,
|
35
35
|
# Spanish
|
36
36
|
/^[[:blank:]]*Enviado desde mi /i,
|
37
|
+
# Dutch
|
38
|
+
/^[[:blank:]]*Verzonden met /i,
|
39
|
+
/^[[:blank:]]*Verstuurd vanaf mijn /i,
|
40
|
+
# Swedish
|
41
|
+
/^[[:blank:]]*från min /i,
|
37
42
|
]
|
38
43
|
|
39
44
|
def self.match?(line)
|
40
|
-
|
45
|
+
# remove any markdown links
|
46
|
+
stripped = line.gsub(/\[([^\]]+)\]\([^\)]+\)/) { $1 }
|
47
|
+
SIGNATURE_REGEXES.any? { |r| stripped =~ r }
|
41
48
|
end
|
42
49
|
|
43
50
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
This email has been forwarded from Apple Mail.
|
@@ -0,0 +1 @@
|
|
1
|
+
This email has been forwarded from Gmail.
|
File without changes
|
@@ -0,0 +1,17 @@
|
|
1
|
+
30 серп. 2016 р. 20:45 "Arpit" <no-reply@example.com> пише:
|
2
|
+
|
3
|
+
> meg <http://forum.example.com/users/foo> Foo
|
4
|
+
> <http://forum.example.com/users/foo>
|
5
|
+
> Август 30
|
6
|
+
>
|
7
|
+
> Когда будет точное название, напишите в личку и мы поменяем название.
|
8
|
+
> ------------------------------
|
9
|
+
>
|
10
|
+
> Visit Message
|
11
|
+
> <http://forum.example.com/t/slug/24>
|
12
|
+
> or reply to this email to respond.
|
13
|
+
>
|
14
|
+
> To unsubscribe from these emails, click here
|
15
|
+
> <http://forum.example.com/email/unsubscribe/0123456789>
|
16
|
+
> .
|
17
|
+
>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
> Begin forwarded message:
|
2
|
+
>
|
3
|
+
> From: Foo Discourse <foo@discourse.org>
|
4
|
+
> Subject: This email is going to be forwarded
|
5
|
+
> Date: 01 January 2019 at 12:00:00 EET
|
6
|
+
> To: bar@discourse.org
|
7
|
+
>
|
8
|
+
> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi auctor
|
9
|
+
> lacus in metus vehicula, non dictum mi consequat. Nunc eget quam sit
|
10
|
+
> amet dolor scelerisque cursus. Etiam laoreet lectus a rutrum
|
11
|
+
> sollicitudin. Nullam sit amet lorem id ante lobortis fringilla. Duis
|
12
|
+
> dictum tempus sem et ultrices. Sed ac lectus ante. Vivamus interdum,
|
13
|
+
> risus non tincidunt accumsan, purus mi accumsan dolor, vitae euismod
|
14
|
+
> turpis orci ut est. Integer ut ante eu velit dignissim ullamcorper non
|
15
|
+
> id nibh. Nulla auctor magna erat, et posuere sapien gravida convallis.
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---------- Forwarded message ---------
|
2
|
+
From: Foo Discourse <foo@discourse.org>
|
3
|
+
Date: Tue, Jan 01, 2019 at 12:00 PM
|
4
|
+
Subject: This email is going to be forwarded
|
5
|
+
To: <bar@discourse.org>
|
6
|
+
|
7
|
+
|
8
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi auctor
|
9
|
+
lacus in metus vehicula, non dictum mi consequat. Nunc eget quam sit
|
10
|
+
amet dolor scelerisque cursus. Etiam laoreet lectus a rutrum
|
11
|
+
sollicitudin. Nullam sit amet lorem id ante lobortis fringilla. Duis
|
12
|
+
dictum tempus sem et ultrices. Sed ac lectus ante. Vivamus interdum,
|
13
|
+
risus non tincidunt accumsan, purus mi accumsan dolor, vitae euismod
|
14
|
+
turpis orci ut est. Integer ut ante eu velit dignissim ullamcorper non
|
15
|
+
id nibh. Nulla auctor magna erat, et posuere sapien gravida convallis.
|
data/test/elided/signatures.txt
CHANGED
@@ -24,5 +24,8 @@ Sent from my Windows 8 PC
|
|
24
24
|
(sent from a phone)
|
25
25
|
(Sent from mobile device)
|
26
26
|
從我的 iPhone 傳送
|
27
|
+
Sent from [mail](https://go.microsoft.com/fwlink/?LinkId=550986) for windows 10
|
28
|
+
Verzonden met BlackBerry Work
|
27
29
|
|
28
30
|
Get Outlook for iOShttps://aka.ms/o0ukef
|
31
|
+
Get [Outlook for Android](https://aka.ms/ghei36)
|
@@ -0,0 +1,75 @@
|
|
1
|
+
> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
2
|
+
>
|
3
|
+
>> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
4
|
+
>>
|
5
|
+
>>> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
6
|
+
>>>
|
7
|
+
>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
8
|
+
>>>>
|
9
|
+
>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
10
|
+
>>>>>
|
11
|
+
>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
12
|
+
>>>>>>
|
13
|
+
>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
14
|
+
>>>>>>>
|
15
|
+
>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
16
|
+
>>>>>>>>
|
17
|
+
>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
18
|
+
>>>>>>>>>
|
19
|
+
>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
20
|
+
>>>>>>>>>>
|
21
|
+
>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
22
|
+
>>>>>>>>>>>
|
23
|
+
>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
24
|
+
>>>>>>>>>>>>
|
25
|
+
>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
26
|
+
>>>>>>>>>>>>>
|
27
|
+
>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
28
|
+
>>>>>>>>>>>>>>
|
29
|
+
>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
30
|
+
>>>>>>>>>>>>>>>
|
31
|
+
>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
32
|
+
>>>>>>>>>>>>>>>>
|
33
|
+
>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
34
|
+
>>>>>>>>>>>>>>>>>
|
35
|
+
>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
36
|
+
>>>>>>>>>>>>>>>>>>
|
37
|
+
>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
38
|
+
>>>>>>>>>>>>>>>>>>>
|
39
|
+
>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
40
|
+
>>>>>>>>>>>>>>>>>>>>
|
41
|
+
>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
42
|
+
>>>>>>>>>>>>>>>>>>>>>
|
43
|
+
>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
44
|
+
>>>>>>>>>>>>>>>>>>>>>>
|
45
|
+
>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
46
|
+
>>>>>>>>>>>>>>>>>>>>>>>
|
47
|
+
>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
48
|
+
>>>>>>>>>>>>>>>>>>>>>>>>
|
49
|
+
>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
50
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>
|
51
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
52
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>
|
53
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
54
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
55
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
56
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
57
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
58
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
59
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
60
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
61
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
62
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
63
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
64
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
65
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
66
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
67
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
68
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
69
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
70
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
71
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
72
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
73
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
74
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
75
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
@@ -0,0 +1,152 @@
|
|
1
|
+
> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
2
|
+
>
|
3
|
+
>> Hello world!
|
4
|
+
>>
|
5
|
+
>> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
6
|
+
>>
|
7
|
+
>>> Hello world!
|
8
|
+
>>>
|
9
|
+
>>> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
10
|
+
>>>
|
11
|
+
>>>> Hello world!
|
12
|
+
>>>>
|
13
|
+
>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
14
|
+
>>>>
|
15
|
+
>>>>> Hello world!
|
16
|
+
>>>>>
|
17
|
+
>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
18
|
+
>>>>>
|
19
|
+
>>>>>> Hello world!
|
20
|
+
>>>>>>
|
21
|
+
>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
22
|
+
>>>>>>
|
23
|
+
>>>>>>> Hello world!
|
24
|
+
>>>>>>>
|
25
|
+
>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
26
|
+
>>>>>>>
|
27
|
+
>>>>>>>> Hello world!
|
28
|
+
>>>>>>>>
|
29
|
+
>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
30
|
+
>>>>>>>>
|
31
|
+
>>>>>>>>> Hello world!
|
32
|
+
>>>>>>>>>
|
33
|
+
>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
34
|
+
>>>>>>>>>
|
35
|
+
>>>>>>>>>> Hello world!
|
36
|
+
>>>>>>>>>>
|
37
|
+
>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
38
|
+
>>>>>>>>>>
|
39
|
+
>>>>>>>>>>> Hello world!
|
40
|
+
>>>>>>>>>>>
|
41
|
+
>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
42
|
+
>>>>>>>>>>>
|
43
|
+
>>>>>>>>>>>> Hello world!
|
44
|
+
>>>>>>>>>>>>
|
45
|
+
>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
46
|
+
>>>>>>>>>>>>
|
47
|
+
>>>>>>>>>>>>> Hello world!
|
48
|
+
>>>>>>>>>>>>>
|
49
|
+
>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
50
|
+
>>>>>>>>>>>>>
|
51
|
+
>>>>>>>>>>>>>> Hello world!
|
52
|
+
>>>>>>>>>>>>>>
|
53
|
+
>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
54
|
+
>>>>>>>>>>>>>>
|
55
|
+
>>>>>>>>>>>>>>> Hello world!
|
56
|
+
>>>>>>>>>>>>>>>
|
57
|
+
>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
58
|
+
>>>>>>>>>>>>>>>
|
59
|
+
>>>>>>>>>>>>>>>> Hello world!
|
60
|
+
>>>>>>>>>>>>>>>>
|
61
|
+
>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
62
|
+
>>>>>>>>>>>>>>>>
|
63
|
+
>>>>>>>>>>>>>>>>> Hello world!
|
64
|
+
>>>>>>>>>>>>>>>>>
|
65
|
+
>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
66
|
+
>>>>>>>>>>>>>>>>>
|
67
|
+
>>>>>>>>>>>>>>>>>> Hello world!
|
68
|
+
>>>>>>>>>>>>>>>>>>
|
69
|
+
>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
70
|
+
>>>>>>>>>>>>>>>>>>
|
71
|
+
>>>>>>>>>>>>>>>>>>> Hello world!
|
72
|
+
>>>>>>>>>>>>>>>>>>>
|
73
|
+
>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
74
|
+
>>>>>>>>>>>>>>>>>>>
|
75
|
+
>>>>>>>>>>>>>>>>>>>> Hello world!
|
76
|
+
>>>>>>>>>>>>>>>>>>>>
|
77
|
+
>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
78
|
+
>>>>>>>>>>>>>>>>>>>>
|
79
|
+
>>>>>>>>>>>>>>>>>>>>> Hello world!
|
80
|
+
>>>>>>>>>>>>>>>>>>>>>
|
81
|
+
>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
82
|
+
>>>>>>>>>>>>>>>>>>>>>
|
83
|
+
>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
84
|
+
>>>>>>>>>>>>>>>>>>>>>>
|
85
|
+
>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
86
|
+
>>>>>>>>>>>>>>>>>>>>>>
|
87
|
+
>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
88
|
+
>>>>>>>>>>>>>>>>>>>>>>>
|
89
|
+
>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
90
|
+
>>>>>>>>>>>>>>>>>>>>>>>
|
91
|
+
>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
92
|
+
>>>>>>>>>>>>>>>>>>>>>>>>
|
93
|
+
>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
94
|
+
>>>>>>>>>>>>>>>>>>>>>>>>
|
95
|
+
>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
96
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>
|
97
|
+
>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
98
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>
|
99
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
100
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>
|
101
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
102
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>
|
103
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
104
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
105
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
106
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
107
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
108
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
109
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
110
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
111
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
112
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
113
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
114
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
115
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
116
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
117
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
118
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
119
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
120
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
121
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
122
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
123
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
124
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
125
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
126
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
127
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
128
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
129
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
130
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
131
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
132
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
133
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
134
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
135
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
136
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
137
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
138
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
139
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
140
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
141
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
142
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
143
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
144
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
145
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
146
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
147
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
148
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
149
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
150
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
151
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
152
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
File without changes
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Hi Neil,
|
2
|
+
Thanks for prompt response!
|
3
|
+
|
4
|
+
|
5
|
+
23 mar 2017 21:25 "Neil Lalonde" <meta@discoursemail.com> napisał(a):
|
6
|
+
|
7
|
+
> neil <https://meta.discourse.org/users/neil> Neil Lalonde
|
8
|
+
> <https://meta.discourse.org/users/neil> Team
|
9
|
+
> March 23
|
10
|
+
>
|
11
|
+
> I have made required changes. Enjoy!
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Спасибо еще раз.
|
2
|
+
|
3
|
+
30 серп. 2016 р. 20:45 "Arpit" <no-reply@example.com> пише:
|
4
|
+
|
5
|
+
> meg <http://forum.example.com/users/foo> Foo
|
6
|
+
> <http://forum.example.com/users/foo>
|
7
|
+
> Август 30
|
8
|
+
>
|
9
|
+
> Когда будет точное название, напишите в личку и мы поменяем название.
|
10
|
+
> ------------------------------
|
11
|
+
>
|
12
|
+
> Visit Message
|
13
|
+
> <http://forum.example.com/t/slug/24>
|
14
|
+
> or reply to this email to respond.
|
15
|
+
>
|
16
|
+
> To unsubscribe from these emails, click here
|
17
|
+
> <http://forum.example.com/email/unsubscribe/0123456789>
|
18
|
+
> .
|
19
|
+
>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
This email has been forwarded from Apple Mail.
|
2
|
+
|
3
|
+
> Begin forwarded message:
|
4
|
+
>
|
5
|
+
> From: Foo Discourse <foo@discourse.org>
|
6
|
+
> Subject: This email is going to be forwarded
|
7
|
+
> Date: 01 January 2019 at 12:00:00 EET
|
8
|
+
> To: bar@discourse.org
|
9
|
+
>
|
10
|
+
> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi auctor
|
11
|
+
> lacus in metus vehicula, non dictum mi consequat. Nunc eget quam sit
|
12
|
+
> amet dolor scelerisque cursus. Etiam laoreet lectus a rutrum
|
13
|
+
> sollicitudin. Nullam sit amet lorem id ante lobortis fringilla. Duis
|
14
|
+
> dictum tempus sem et ultrices. Sed ac lectus ante. Vivamus interdum,
|
15
|
+
> risus non tincidunt accumsan, purus mi accumsan dolor, vitae euismod
|
16
|
+
> turpis orci ut est. Integer ut ante eu velit dignissim ullamcorper non
|
17
|
+
> id nibh. Nulla auctor magna erat, et posuere sapien gravida convallis.
|
@@ -0,0 +1,17 @@
|
|
1
|
+
This email has been forwarded from Gmail.
|
2
|
+
|
3
|
+
---------- Forwarded message ---------
|
4
|
+
From: Foo Discourse <foo@discourse.org>
|
5
|
+
Date: Tue, Jan 01, 2019 at 12:00 PM
|
6
|
+
Subject: This email is going to be forwarded
|
7
|
+
To: <bar@discourse.org>
|
8
|
+
|
9
|
+
|
10
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi auctor
|
11
|
+
lacus in metus vehicula, non dictum mi consequat. Nunc eget quam sit
|
12
|
+
amet dolor scelerisque cursus. Etiam laoreet lectus a rutrum
|
13
|
+
sollicitudin. Nullam sit amet lorem id ante lobortis fringilla. Duis
|
14
|
+
dictum tempus sem et ultrices. Sed ac lectus ante. Vivamus interdum,
|
15
|
+
risus non tincidunt accumsan, purus mi accumsan dolor, vitae euismod
|
16
|
+
turpis orci ut est. Integer ut ante eu velit dignissim ullamcorper non
|
17
|
+
id nibh. Nulla auctor magna erat, et posuere sapien gravida convallis.
|
data/test/emails/signatures.txt
CHANGED
@@ -26,5 +26,8 @@ Sent from my Windows 8 PC
|
|
26
26
|
(sent from a phone)
|
27
27
|
(Sent from mobile device)
|
28
28
|
從我的 iPhone 傳送
|
29
|
+
Sent from [mail](https://go.microsoft.com/fwlink/?LinkId=550986) for windows 10
|
30
|
+
Verzonden met BlackBerry Work
|
29
31
|
|
30
32
|
Get Outlook for iOShttps://aka.ms/o0ukef
|
33
|
+
Get [Outlook for Android](https://aka.ms/ghei36)
|
@@ -0,0 +1,75 @@
|
|
1
|
+
> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
2
|
+
>
|
3
|
+
>> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
4
|
+
>>
|
5
|
+
>>> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
6
|
+
>>>
|
7
|
+
>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
8
|
+
>>>>
|
9
|
+
>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
10
|
+
>>>>>
|
11
|
+
>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
12
|
+
>>>>>>
|
13
|
+
>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
14
|
+
>>>>>>>
|
15
|
+
>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
16
|
+
>>>>>>>>
|
17
|
+
>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
18
|
+
>>>>>>>>>
|
19
|
+
>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
20
|
+
>>>>>>>>>>
|
21
|
+
>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
22
|
+
>>>>>>>>>>>
|
23
|
+
>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
24
|
+
>>>>>>>>>>>>
|
25
|
+
>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
26
|
+
>>>>>>>>>>>>>
|
27
|
+
>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
28
|
+
>>>>>>>>>>>>>>
|
29
|
+
>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
30
|
+
>>>>>>>>>>>>>>>
|
31
|
+
>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
32
|
+
>>>>>>>>>>>>>>>>
|
33
|
+
>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
34
|
+
>>>>>>>>>>>>>>>>>
|
35
|
+
>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
36
|
+
>>>>>>>>>>>>>>>>>>
|
37
|
+
>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
38
|
+
>>>>>>>>>>>>>>>>>>>
|
39
|
+
>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
40
|
+
>>>>>>>>>>>>>>>>>>>>
|
41
|
+
>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
42
|
+
>>>>>>>>>>>>>>>>>>>>>
|
43
|
+
>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
44
|
+
>>>>>>>>>>>>>>>>>>>>>>
|
45
|
+
>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
46
|
+
>>>>>>>>>>>>>>>>>>>>>>>
|
47
|
+
>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
48
|
+
>>>>>>>>>>>>>>>>>>>>>>>>
|
49
|
+
>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
50
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>
|
51
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
52
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>
|
53
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
54
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
55
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
56
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
57
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
58
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
59
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
60
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
61
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
62
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
63
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
64
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
65
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
66
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
67
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
68
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
69
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
70
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
71
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
72
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
73
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
74
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
75
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
@@ -0,0 +1,174 @@
|
|
1
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet dictum
|
2
|
+
lectus, at efficitur neque. Class aptent taciti sociosqu ad litora torquent per
|
3
|
+
conubia nostra, per inceptos himenaeos. Aenean dictum pulvinar tortor non
|
4
|
+
ultricies. Maecenas cursus lobortis dolor quis feugiat. Integer efficitur,
|
5
|
+
mauris sit amet lobortis consectetur, urna augue feugiat mi, et tempor dui
|
6
|
+
sapien vehicula dolor. Aenean sit amet ultrices tortor. Praesent vel porttitor
|
7
|
+
risus, eu fringilla nibh. Phasellus sollicitudin elit id tortor dapibus, at
|
8
|
+
euismod odio sodales. Ut est ex, pharetra malesuada dui maximus, ullamcorper
|
9
|
+
fringilla turpis. Nullam gravida, elit blandit commodo blandit, velit sem
|
10
|
+
ornare odio, eu ultricies arcu ex sit amet libero. Vestibulum eu fringilla
|
11
|
+
ante, nec blandit nunc.
|
12
|
+
|
13
|
+
Nullam nec viverra ipsum. Nullam semper eu urna id facilisis. Nam blandit
|
14
|
+
dictum eros, sit amet auctor dui fermentum a. Quisque finibus magna nisi, ac
|
15
|
+
hendrerit purus lacinia ut. Donec maximus, enim id tincidunt vulputate, libero
|
16
|
+
ex tempor elit, vitae sagittis libero leo sed leo. Quisque non gravida ex,
|
17
|
+
efficitur interdum neque. Interdum et malesuada fames ac ante ipsum primis in
|
18
|
+
faucibus. Phasellus rhoncus nisi vitae turpis bibendum luctus. Duis placerat
|
19
|
+
aliquam lectus, pellentesque commodo dolor hendrerit quis. Suspendisse ipsum
|
20
|
+
sapien, interdum ac felis ac, mattis varius neque. Maecenas nec risus sit amet
|
21
|
+
ex aliquam vestibulum. Maecenas a turpis et turpis volutpat congue.
|
22
|
+
|
23
|
+
> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
24
|
+
>
|
25
|
+
>> Hello world!
|
26
|
+
>>
|
27
|
+
>> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
28
|
+
>>
|
29
|
+
>>> Hello world!
|
30
|
+
>>>
|
31
|
+
>>> On Thu, Apr 30, 2020 at 10:07 AM, "someone" <someone@example.com> wrote:
|
32
|
+
>>>
|
33
|
+
>>>> Hello world!
|
34
|
+
>>>>
|
35
|
+
>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
36
|
+
>>>>
|
37
|
+
>>>>> Hello world!
|
38
|
+
>>>>>
|
39
|
+
>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
40
|
+
>>>>>
|
41
|
+
>>>>>> Hello world!
|
42
|
+
>>>>>>
|
43
|
+
>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
44
|
+
>>>>>>
|
45
|
+
>>>>>>> Hello world!
|
46
|
+
>>>>>>>
|
47
|
+
>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
48
|
+
>>>>>>>
|
49
|
+
>>>>>>>> Hello world!
|
50
|
+
>>>>>>>>
|
51
|
+
>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
52
|
+
>>>>>>>>
|
53
|
+
>>>>>>>>> Hello world!
|
54
|
+
>>>>>>>>>
|
55
|
+
>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
56
|
+
>>>>>>>>>
|
57
|
+
>>>>>>>>>> Hello world!
|
58
|
+
>>>>>>>>>>
|
59
|
+
>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
60
|
+
>>>>>>>>>>
|
61
|
+
>>>>>>>>>>> Hello world!
|
62
|
+
>>>>>>>>>>>
|
63
|
+
>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
64
|
+
>>>>>>>>>>>
|
65
|
+
>>>>>>>>>>>> Hello world!
|
66
|
+
>>>>>>>>>>>>
|
67
|
+
>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
68
|
+
>>>>>>>>>>>>
|
69
|
+
>>>>>>>>>>>>> Hello world!
|
70
|
+
>>>>>>>>>>>>>
|
71
|
+
>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
72
|
+
>>>>>>>>>>>>>
|
73
|
+
>>>>>>>>>>>>>> Hello world!
|
74
|
+
>>>>>>>>>>>>>>
|
75
|
+
>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
76
|
+
>>>>>>>>>>>>>>
|
77
|
+
>>>>>>>>>>>>>>> Hello world!
|
78
|
+
>>>>>>>>>>>>>>>
|
79
|
+
>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
80
|
+
>>>>>>>>>>>>>>>
|
81
|
+
>>>>>>>>>>>>>>>> Hello world!
|
82
|
+
>>>>>>>>>>>>>>>>
|
83
|
+
>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
84
|
+
>>>>>>>>>>>>>>>>
|
85
|
+
>>>>>>>>>>>>>>>>> Hello world!
|
86
|
+
>>>>>>>>>>>>>>>>>
|
87
|
+
>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
88
|
+
>>>>>>>>>>>>>>>>>
|
89
|
+
>>>>>>>>>>>>>>>>>> Hello world!
|
90
|
+
>>>>>>>>>>>>>>>>>>
|
91
|
+
>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
92
|
+
>>>>>>>>>>>>>>>>>>
|
93
|
+
>>>>>>>>>>>>>>>>>>> Hello world!
|
94
|
+
>>>>>>>>>>>>>>>>>>>
|
95
|
+
>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
96
|
+
>>>>>>>>>>>>>>>>>>>
|
97
|
+
>>>>>>>>>>>>>>>>>>>> Hello world!
|
98
|
+
>>>>>>>>>>>>>>>>>>>>
|
99
|
+
>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
100
|
+
>>>>>>>>>>>>>>>>>>>>
|
101
|
+
>>>>>>>>>>>>>>>>>>>>> Hello world!
|
102
|
+
>>>>>>>>>>>>>>>>>>>>>
|
103
|
+
>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
104
|
+
>>>>>>>>>>>>>>>>>>>>>
|
105
|
+
>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
106
|
+
>>>>>>>>>>>>>>>>>>>>>>
|
107
|
+
>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
108
|
+
>>>>>>>>>>>>>>>>>>>>>>
|
109
|
+
>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
110
|
+
>>>>>>>>>>>>>>>>>>>>>>>
|
111
|
+
>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
112
|
+
>>>>>>>>>>>>>>>>>>>>>>>
|
113
|
+
>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
114
|
+
>>>>>>>>>>>>>>>>>>>>>>>>
|
115
|
+
>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
116
|
+
>>>>>>>>>>>>>>>>>>>>>>>>
|
117
|
+
>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
118
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>
|
119
|
+
>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
120
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>
|
121
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
122
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>
|
123
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
124
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>
|
125
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
126
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
127
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
128
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
129
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
130
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
131
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
132
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
133
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
134
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
135
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
136
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
137
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
138
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
139
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
140
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
141
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
142
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
143
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
144
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
145
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
146
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
147
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
148
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
149
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
150
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
151
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
152
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
153
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
154
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
155
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
156
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
157
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
158
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
159
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
160
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
161
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
162
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
163
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
164
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
165
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
166
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
167
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
168
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
169
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
170
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
171
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> On Thu, Apr 30, 2020 at 10:06 AM, "someone" <someone@example.com> wrote:
|
172
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
173
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Hello world!
|
174
|
+
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
From: Foo Discourse <foo@discourse.org>
|
2
|
+
Subject: This email is going to be forwarded
|
3
|
+
Date: 01 January 2019 at 12:00:00 EET
|
4
|
+
To: bar@discourse.org
|
5
|
+
|
6
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi auctor
|
7
|
+
lacus in metus vehicula, non dictum mi consequat. Nunc eget quam sit
|
8
|
+
amet dolor scelerisque cursus. Etiam laoreet lectus a rutrum
|
9
|
+
sollicitudin. Nullam sit amet lorem id ante lobortis fringilla. Duis
|
10
|
+
dictum tempus sem et ultrices. Sed ac lectus ante. Vivamus interdum,
|
11
|
+
risus non tincidunt accumsan, purus mi accumsan dolor, vitae euismod
|
12
|
+
turpis orci ut est. Integer ut ante eu velit dignissim ullamcorper non
|
13
|
+
id nibh. Nulla auctor magna erat, et posuere sapien gravida convallis.
|
@@ -0,0 +1,14 @@
|
|
1
|
+
From: Foo Discourse <foo@discourse.org>
|
2
|
+
Date: Tue, Jan 01, 2019 at 12:00 PM
|
3
|
+
Subject: This email is going to be forwarded
|
4
|
+
To: <bar@discourse.org>
|
5
|
+
|
6
|
+
|
7
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi auctor
|
8
|
+
lacus in metus vehicula, non dictum mi consequat. Nunc eget quam sit
|
9
|
+
amet dolor scelerisque cursus. Etiam laoreet lectus a rutrum
|
10
|
+
sollicitudin. Nullam sit amet lorem id ante lobortis fringilla. Duis
|
11
|
+
dictum tempus sem et ultrices. Sed ac lectus ante. Vivamus interdum,
|
12
|
+
risus non tincidunt accumsan, purus mi accumsan dolor, vitae euismod
|
13
|
+
turpis orci ut est. Integer ut ante eu velit dignissim ullamcorper non
|
14
|
+
id nibh. Nulla auctor magna erat, et posuere sapien gravida convallis.
|
@@ -19,6 +19,10 @@ class TestEmailReplyTrimmer < Minitest::Test
|
|
19
19
|
assert_match(/\r\n/, File.read("test/emails/normalize_line_endings.txt"))
|
20
20
|
end
|
21
21
|
|
22
|
+
def test_is_reply_at_end?
|
23
|
+
Timeout::timeout(1) { assert_nil(EmailReplyTrimmer.send(:is_reply_at_end?, "bq" * 100)) }
|
24
|
+
end
|
25
|
+
|
22
26
|
EMAILS.each do |filename|
|
23
27
|
name = File.basename(filename, ".txt")
|
24
28
|
define_method("test_#{name}") do
|
@@ -30,7 +34,7 @@ class TestEmailReplyTrimmer < Minitest::Test
|
|
30
34
|
EMBEDDED_EMAILS = %w{
|
31
35
|
email_headers_1 email_headers_2 email_headers_3 email_headers_4
|
32
36
|
embedded_email_10 embedded_email_german_3 embedded_email_spanish_2
|
33
|
-
forwarded_message
|
37
|
+
forwarded_message forwarded_gmail forwarded_apple
|
34
38
|
}
|
35
39
|
|
36
40
|
EMBEDDED_EMAILS.each do |name|
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
Спасибо еще раз.
|
@@ -0,0 +1 @@
|
|
1
|
+
This email has been forwarded from Apple Mail.
|
@@ -0,0 +1 @@
|
|
1
|
+
This email has been forwarded from Gmail.
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec sit amet dictum
|
2
|
+
lectus, at efficitur neque. Class aptent taciti sociosqu ad litora torquent per
|
3
|
+
conubia nostra, per inceptos himenaeos. Aenean dictum pulvinar tortor non
|
4
|
+
ultricies. Maecenas cursus lobortis dolor quis feugiat. Integer efficitur,
|
5
|
+
mauris sit amet lobortis consectetur, urna augue feugiat mi, et tempor dui
|
6
|
+
sapien vehicula dolor. Aenean sit amet ultrices tortor. Praesent vel porttitor
|
7
|
+
risus, eu fringilla nibh. Phasellus sollicitudin elit id tortor dapibus, at
|
8
|
+
euismod odio sodales. Ut est ex, pharetra malesuada dui maximus, ullamcorper
|
9
|
+
fringilla turpis. Nullam gravida, elit blandit commodo blandit, velit sem
|
10
|
+
ornare odio, eu ultricies arcu ex sit amet libero. Vestibulum eu fringilla
|
11
|
+
ante, nec blandit nunc.
|
12
|
+
|
13
|
+
Nullam nec viverra ipsum. Nullam semper eu urna id facilisis. Nam blandit
|
14
|
+
dictum eros, sit amet auctor dui fermentum a. Quisque finibus magna nisi, ac
|
15
|
+
hendrerit purus lacinia ut. Donec maximus, enim id tincidunt vulputate, libero
|
16
|
+
ex tempor elit, vitae sagittis libero leo sed leo. Quisque non gravida ex,
|
17
|
+
efficitur interdum neque. Interdum et malesuada fames ac ante ipsum primis in
|
18
|
+
faucibus. Phasellus rhoncus nisi vitae turpis bibendum luctus. Duis placerat
|
19
|
+
aliquam lectus, pellentesque commodo dolor hendrerit quis. Suspendisse ipsum
|
20
|
+
sapien, interdum ac felis ac, mattis varius neque. Maecenas nec risus sit amet
|
21
|
+
ex aliquam vestibulum. Maecenas a turpis et turpis volutpat congue.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: email_reply_trimmer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Régis Hanol
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.52.1
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.52.1
|
55
55
|
description: EmailReplyTrimmer is a small library to trim replies from plain text
|
56
56
|
email.
|
57
57
|
email:
|
@@ -61,7 +61,6 @@ extensions: []
|
|
61
61
|
extra_rdoc_files: []
|
62
62
|
files:
|
63
63
|
- Gemfile
|
64
|
-
- Gemfile.lock
|
65
64
|
- LICENSE
|
66
65
|
- README.md
|
67
66
|
- Rakefile
|
@@ -80,6 +79,8 @@ files:
|
|
80
79
|
- test/before/embedded_email_10.txt
|
81
80
|
- test/before/embedded_email_german_3.txt
|
82
81
|
- test/before/embedded_email_spanish_2.txt
|
82
|
+
- test/before/forwarded_apple.txt
|
83
|
+
- test/before/forwarded_gmail.txt
|
83
84
|
- test/before/forwarded_message.txt
|
84
85
|
- test/elided/delimiters.txt
|
85
86
|
- test/elided/dual_embedded.txt
|
@@ -121,7 +122,8 @@ files:
|
|
121
122
|
- test/elided/embedded_email_german_6.txt
|
122
123
|
- test/elided/embedded_email_italian.txt
|
123
124
|
- test/elided/embedded_email_norwegian.txt
|
124
|
-
- test/elided/
|
125
|
+
- test/elided/embedded_email_polish_1.txt
|
126
|
+
- test/elided/embedded_email_polish_2.txt
|
125
127
|
- test/elided/embedded_email_portuguese.txt
|
126
128
|
- test/elided/embedded_email_quote_text.txt
|
127
129
|
- test/elided/embedded_email_russian_1.txt
|
@@ -129,12 +131,17 @@ files:
|
|
129
131
|
- test/elided/embedded_email_spanish_1.txt
|
130
132
|
- test/elided/embedded_email_spanish_2.txt
|
131
133
|
- test/elided/embedded_email_swedish.txt
|
134
|
+
- test/elided/embedded_email_ukrainian.txt
|
135
|
+
- test/elided/forwarded_apple.txt
|
136
|
+
- test/elided/forwarded_gmail.txt
|
132
137
|
- test/elided/forwarded_message.txt
|
133
138
|
- test/elided/normalize_line_endings.txt
|
134
139
|
- test/elided/quote_and_text.txt
|
135
140
|
- test/elided/quote_only.txt
|
136
141
|
- test/elided/retains_spaces_and_formatting.txt
|
137
142
|
- test/elided/signatures.txt
|
143
|
+
- test/elided/spam_1.txt
|
144
|
+
- test/elided/spam_2.txt
|
138
145
|
- test/elided/strip.txt
|
139
146
|
- test/elided/text_only.txt
|
140
147
|
- test/elided/usenet.txt
|
@@ -178,7 +185,8 @@ files:
|
|
178
185
|
- test/emails/embedded_email_german_6.txt
|
179
186
|
- test/emails/embedded_email_italian.txt
|
180
187
|
- test/emails/embedded_email_norwegian.txt
|
181
|
-
- test/emails/
|
188
|
+
- test/emails/embedded_email_polish_1.txt
|
189
|
+
- test/emails/embedded_email_polish_2.txt
|
182
190
|
- test/emails/embedded_email_portuguese.txt
|
183
191
|
- test/emails/embedded_email_quote_text.txt
|
184
192
|
- test/emails/embedded_email_russian_1.txt
|
@@ -186,12 +194,17 @@ files:
|
|
186
194
|
- test/emails/embedded_email_spanish_1.txt
|
187
195
|
- test/emails/embedded_email_spanish_2.txt
|
188
196
|
- test/emails/embedded_email_swedish.txt
|
197
|
+
- test/emails/embedded_email_ukrainian.txt
|
198
|
+
- test/emails/forwarded_apple.txt
|
199
|
+
- test/emails/forwarded_gmail.txt
|
189
200
|
- test/emails/forwarded_message.txt
|
190
201
|
- test/emails/normalize_line_endings.txt
|
191
202
|
- test/emails/quote_and_text.txt
|
192
203
|
- test/emails/quote_only.txt
|
193
204
|
- test/emails/retains_spaces_and_formatting.txt
|
194
205
|
- test/emails/signatures.txt
|
206
|
+
- test/emails/spam_1.txt
|
207
|
+
- test/emails/spam_2.txt
|
195
208
|
- test/emails/strip.txt
|
196
209
|
- test/emails/text_only.txt
|
197
210
|
- test/emails/usenet.txt
|
@@ -202,6 +215,8 @@ files:
|
|
202
215
|
- test/embedded/embedded_email_10.txt
|
203
216
|
- test/embedded/embedded_email_german_3.txt
|
204
217
|
- test/embedded/embedded_email_spanish_2.txt
|
218
|
+
- test/embedded/forwarded_apple.txt
|
219
|
+
- test/embedded/forwarded_gmail.txt
|
205
220
|
- test/embedded/forwarded_message.txt
|
206
221
|
- test/matchers/does_not_contain_embedded_email.txt
|
207
222
|
- test/test_email_matcher.rb
|
@@ -246,7 +261,8 @@ files:
|
|
246
261
|
- test/trimmed/embedded_email_german_6.txt
|
247
262
|
- test/trimmed/embedded_email_italian.txt
|
248
263
|
- test/trimmed/embedded_email_norwegian.txt
|
249
|
-
- test/trimmed/
|
264
|
+
- test/trimmed/embedded_email_polish_1.txt
|
265
|
+
- test/trimmed/embedded_email_polish_2.txt
|
250
266
|
- test/trimmed/embedded_email_portuguese.txt
|
251
267
|
- test/trimmed/embedded_email_quote_text.txt
|
252
268
|
- test/trimmed/embedded_email_russian_1.txt
|
@@ -254,12 +270,17 @@ files:
|
|
254
270
|
- test/trimmed/embedded_email_spanish_1.txt
|
255
271
|
- test/trimmed/embedded_email_spanish_2.txt
|
256
272
|
- test/trimmed/embedded_email_swedish.txt
|
273
|
+
- test/trimmed/embedded_email_ukrainian.txt
|
274
|
+
- test/trimmed/forwarded_apple.txt
|
275
|
+
- test/trimmed/forwarded_gmail.txt
|
257
276
|
- test/trimmed/forwarded_message.txt
|
258
277
|
- test/trimmed/normalize_line_endings.txt
|
259
278
|
- test/trimmed/quote_and_text.txt
|
260
279
|
- test/trimmed/quote_only.txt
|
261
280
|
- test/trimmed/retains_spaces_and_formatting.txt
|
262
281
|
- test/trimmed/signatures.txt
|
282
|
+
- test/trimmed/spam_1.txt
|
283
|
+
- test/trimmed/spam_2.txt
|
263
284
|
- test/trimmed/strip.txt
|
264
285
|
- test/trimmed/text_only.txt
|
265
286
|
- test/trimmed/usenet.txt
|
@@ -282,8 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
282
303
|
- !ruby/object:Gem::Version
|
283
304
|
version: '0'
|
284
305
|
requirements: []
|
285
|
-
|
286
|
-
rubygems_version: 2.6.13
|
306
|
+
rubygems_version: 3.0.3
|
287
307
|
signing_key:
|
288
308
|
specification_version: 4
|
289
309
|
summary: Library to trim replies from plain text email.
|
data/Gemfile.lock
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
email_reply_trimmer (0.1.7)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
ast (2.3.0)
|
10
|
-
minitest (5.10.3)
|
11
|
-
parallel (1.11.2)
|
12
|
-
parser (2.4.0.0)
|
13
|
-
ast (~> 2.2)
|
14
|
-
powerpack (0.1.1)
|
15
|
-
rainbow (2.2.2)
|
16
|
-
rake
|
17
|
-
rake (12.0.0)
|
18
|
-
rubocop (0.49.1)
|
19
|
-
parallel (~> 1.10)
|
20
|
-
parser (>= 2.3.3.1, < 3.0)
|
21
|
-
powerpack (~> 0.1)
|
22
|
-
rainbow (>= 1.99.1, < 3.0)
|
23
|
-
ruby-progressbar (~> 1.7)
|
24
|
-
unicode-display_width (~> 1.0, >= 1.0.1)
|
25
|
-
ruby-progressbar (1.8.1)
|
26
|
-
unicode-display_width (1.3.0)
|
27
|
-
|
28
|
-
PLATFORMS
|
29
|
-
ruby
|
30
|
-
|
31
|
-
DEPENDENCIES
|
32
|
-
email_reply_trimmer!
|
33
|
-
minitest (~> 5)
|
34
|
-
rake (~> 12)
|
35
|
-
rubocop (~> 0)
|
36
|
-
|
37
|
-
BUNDLED WITH
|
38
|
-
1.16.0.pre.2
|