mirror of
https://github.com/codeninjasllc/discourse.git
synced 2024-11-27 09:36:19 -05:00
Merge pull request #3010 from techAPJ/patch-1
FEATURE: switch to GitHub email_reply_parser library and parse plain tex...
This commit is contained in:
commit
a6074af711
11 changed files with 1045 additions and 10 deletions
6
Gemfile
6
Gemfile
|
@ -120,11 +120,7 @@ gem 'fastimage'
|
||||||
gem 'fog', '1.22.1', require: false
|
gem 'fog', '1.22.1', require: false
|
||||||
gem 'unf', require: false
|
gem 'unf', require: false
|
||||||
|
|
||||||
# see: https://twitter.com/samsaffron/status/412360162297393152
|
gem 'email_reply_parser'
|
||||||
# Massive amount of changes made in branch we use, no PR upstreamed
|
|
||||||
# We need to get this sorted
|
|
||||||
# https://github.com/samsaffron/email_reply_parser
|
|
||||||
gem 'email_reply_parser-discourse', require: 'email_reply_parser'
|
|
||||||
|
|
||||||
# note: for image_optim to correctly work you need
|
# note: for image_optim to correctly work you need
|
||||||
# sudo apt-get install -y advancecomp gifsicle jpegoptim libjpeg-progs optipng pngcrush
|
# sudo apt-get install -y advancecomp gifsicle jpegoptim libjpeg-progs optipng pngcrush
|
||||||
|
|
|
@ -65,7 +65,7 @@ GEM
|
||||||
dotenv (0.11.1)
|
dotenv (0.11.1)
|
||||||
dotenv-deployment (~> 0.0.2)
|
dotenv-deployment (~> 0.0.2)
|
||||||
dotenv-deployment (0.0.2)
|
dotenv-deployment (0.0.2)
|
||||||
email_reply_parser-discourse (0.6)
|
email_reply_parser (0.5.8)
|
||||||
ember-data-source (0.14)
|
ember-data-source (0.14)
|
||||||
ember-source
|
ember-source
|
||||||
ember-rails (0.14.1)
|
ember-rails (0.14.1)
|
||||||
|
@ -412,7 +412,7 @@ DEPENDENCIES
|
||||||
better_errors
|
better_errors
|
||||||
binding_of_caller
|
binding_of_caller
|
||||||
certified
|
certified
|
||||||
email_reply_parser-discourse
|
email_reply_parser
|
||||||
ember-rails
|
ember-rails
|
||||||
ember-source (= 1.6.0.beta.2)
|
ember-source (= 1.6.0.beta.2)
|
||||||
eventmachine
|
eventmachine
|
||||||
|
|
|
@ -117,9 +117,9 @@ module Email
|
||||||
if message.multipart?
|
if message.multipart?
|
||||||
html = fix_charset message.html_part
|
html = fix_charset message.html_part
|
||||||
text = fix_charset message.text_part
|
text = fix_charset message.text_part
|
||||||
# TODO picking text if available may be better
|
|
||||||
# in case of email reply from MS Outlook client, prefer text
|
# prefer plain text
|
||||||
if (text && !html) || (text && (message.header.to_s =~ /X-MS-Has-Attach/ || message.header.to_s =~ /Microsoft Outlook/))
|
if text
|
||||||
return text
|
return text
|
||||||
end
|
end
|
||||||
elsif message.content_type =~ /text\/html/
|
elsif message.content_type =~ /text\/html/
|
||||||
|
|
|
@ -93,6 +93,85 @@ Pleasure to have you here!
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "handles newlines" do
|
||||||
|
test_parse_body(fixture_file("emails/newlines.eml")).
|
||||||
|
should == (
|
||||||
|
"This is my reply.
|
||||||
|
It is my best reply.
|
||||||
|
It will also be my *only* reply."
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should not include previous replies" do
|
||||||
|
test_parse_body(fixture_file("emails/previous_replies.eml")).should_not match /Previous Replies/
|
||||||
|
end
|
||||||
|
|
||||||
|
it "strips iPhone signature" do
|
||||||
|
test_parse_body(fixture_file("emails/iphone_signature.eml")).should_not match /Sent from my iPhone/
|
||||||
|
end
|
||||||
|
|
||||||
|
it "properly renders email reply from gmail web client" do
|
||||||
|
test_parse_body(fixture_file("emails/gmail_web.eml")).
|
||||||
|
should == (
|
||||||
|
"### This is a reply from standard GMail in Google Chrome.
|
||||||
|
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over
|
||||||
|
the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown
|
||||||
|
fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over
|
||||||
|
the lazy dog. The quick brown fox jumps over the lazy dog.
|
||||||
|
|
||||||
|
Here's some **bold** text in Markdown.
|
||||||
|
|
||||||
|
Here's a link http://example.com"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "properly renders email reply from iOS default mail client" do
|
||||||
|
test_parse_body(fixture_file("emails/ios_default.eml")).
|
||||||
|
should == (
|
||||||
|
"### this is a reply from iOS default mail
|
||||||
|
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
|
||||||
|
|
||||||
|
Here's some **bold** markdown text.
|
||||||
|
|
||||||
|
Here's a link http://example.com"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "properly renders email reply from Android 5 gmail client" do
|
||||||
|
test_parse_body(fixture_file("emails/android_gmail.eml")).
|
||||||
|
should == (
|
||||||
|
"### this is a reply from Android 5 gmail
|
||||||
|
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over
|
||||||
|
the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown
|
||||||
|
fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
|
||||||
|
The quick brown fox jumps over the lazy dog.
|
||||||
|
|
||||||
|
This is **bold** in Markdown.
|
||||||
|
|
||||||
|
This is a link to http://example.com"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "properly renders email reply from Windows 8.1 Metro default mail client" do
|
||||||
|
test_parse_body(fixture_file("emails/windows_8_metro.eml")).
|
||||||
|
should == (
|
||||||
|
"### reply from default mail client in Windows 8.1 Metro
|
||||||
|
|
||||||
|
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
|
||||||
|
|
||||||
|
|
||||||
|
This is a **bold** word in Markdown
|
||||||
|
|
||||||
|
|
||||||
|
This is a link http://example.com"
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
it "properly renders email reply from MS Outlook client" do
|
it "properly renders email reply from MS Outlook client" do
|
||||||
test_parse_body(fixture_file("emails/outlook.eml")).should == "Microsoft Outlook 2010"
|
test_parse_body(fixture_file("emails/outlook.eml")).should == "Microsoft Outlook 2010"
|
||||||
end
|
end
|
||||||
|
|
177
spec/fixtures/emails/android_gmail.eml
vendored
Normal file
177
spec/fixtures/emails/android_gmail.eml
vendored
Normal file
|
@ -0,0 +1,177 @@
|
||||||
|
Delivered-To: reply@discourse.org
|
||||||
|
Return-Path: <walter.white@googlemail.com>
|
||||||
|
MIME-Version: 1.0
|
||||||
|
In-Reply-To: <topic/22638/86406@meta.discourse.org>
|
||||||
|
References: <topic/22638@meta.discourse.org>
|
||||||
|
<topic/22638/86406@meta.discourse.org>
|
||||||
|
Date: Fri, 28 Nov 2014 12:53:21 -0800
|
||||||
|
Subject: Re: [Discourse Meta] [Lounge] Testing default email replies
|
||||||
|
From: Walter White <walter.white@googlemail.com>
|
||||||
|
To: Discourse Meta <reply@discourse.org>
|
||||||
|
Content-Type: multipart/alternative; boundary=089e0149cfa485c6630508f173df
|
||||||
|
|
||||||
|
--089e0149cfa485c6630508f173df
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
|
||||||
|
### this is a reply from Android 5 gmail
|
||||||
|
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over
|
||||||
|
the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown
|
||||||
|
fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
|
||||||
|
The quick brown fox jumps over the lazy dog.
|
||||||
|
|
||||||
|
This is **bold** in Markdown.
|
||||||
|
|
||||||
|
This is a link to http://example.com
|
||||||
|
On Nov 28, 2014 12:36 PM, "Arpit Jalan" <info@discourse.org> wrote:
|
||||||
|
|
||||||
|
> techAPJ <https://meta.discourse.org/users/techapj>
|
||||||
|
> November 28
|
||||||
|
>
|
||||||
|
> Test reply.
|
||||||
|
>
|
||||||
|
> First paragraph.
|
||||||
|
>
|
||||||
|
> Second paragraph.
|
||||||
|
>
|
||||||
|
> To respond, reply to this email or visit
|
||||||
|
> https://meta.discourse.org/t/testing-default-email-replies/22638/3 in
|
||||||
|
> your browser.
|
||||||
|
> ------------------------------
|
||||||
|
> Previous Replies codinghorror
|
||||||
|
> <https://meta.discourse.org/users/codinghorror>
|
||||||
|
> November 28
|
||||||
|
>
|
||||||
|
> We're testing the latest GitHub email processing library which we are
|
||||||
|
> integrating now.
|
||||||
|
>
|
||||||
|
> https://github.com/github/email_reply_parser
|
||||||
|
>
|
||||||
|
> Go ahead and reply to this topic and I'll reply from various email clients
|
||||||
|
> for testing.
|
||||||
|
> ------------------------------
|
||||||
|
>
|
||||||
|
> To respond, reply to this email or visit
|
||||||
|
> https://meta.discourse.org/t/testing-default-email-replies/22638/3 in
|
||||||
|
> your browser.
|
||||||
|
>
|
||||||
|
> To unsubscribe from these emails, visit your user preferences
|
||||||
|
> <https://meta.discourse.org/my/preferences>.
|
||||||
|
>
|
||||||
|
|
||||||
|
--089e0149cfa485c6630508f173df
|
||||||
|
Content-Type: text/html; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: quoted-printable
|
||||||
|
|
||||||
|
<p dir=3D"ltr">### this is a reply from Android 5 gmail</p>
|
||||||
|
<p dir=3D"ltr">The quick brown fox jumps over the lazy dog. The quick brown=
|
||||||
|
fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. =
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over=
|
||||||
|
the lazy dog. The quick brown fox jumps over the lazy dog. </p>
|
||||||
|
<p dir=3D"ltr">This is **bold** in Markdown.</p>
|
||||||
|
<p dir=3D"ltr">This is a link to <a href=3D"http://example.com">http://exam=
|
||||||
|
ple.com</a></p>
|
||||||
|
<div class=3D"gmail_quote">On Nov 28, 2014 12:36 PM, "Arpit Jalan"=
|
||||||
|
; <<a href=3D"mailto:info@discourse.org">info@discourse.org</a>> wrot=
|
||||||
|
e:<br type=3D"attribution"><blockquote class=3D"gmail_quote" style=3D"margi=
|
||||||
|
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
|
||||||
|
|
||||||
|
<table style=3D"margin-bottom:25px" cellspacing=3D"0" cellpadding=3D"0" bor=
|
||||||
|
der=3D"0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"vertical-align:top;width:55px">
|
||||||
|
<img src=3D"https://meta-discourse.global.ssl.fastly.net/user_avata=
|
||||||
|
r/meta.discourse.org/techapj/45/3281.png" title=3D"techAPJ" style=3D"max-wi=
|
||||||
|
dth:100%" width=3D"45" height=3D"45">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href=3D"https://meta.discourse.org/users/techapj" style=3D"text-=
|
||||||
|
decoration:none;font-weight:bold;color:#006699;font-size:13px;font-family:&=
|
||||||
|
#39;lucida grande',tahoma,verdana,arial,sans-serif;color:#3b5998;text-d=
|
||||||
|
ecoration:none;font-weight:bold" target=3D"_blank">techAPJ</a><br>
|
||||||
|
<span style=3D"text-align:right;color:#999999;padding-right:5px;fon=
|
||||||
|
t-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:=
|
||||||
|
11px">November 28</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"padding-top:5px" colspan=3D"2">
|
||||||
|
<p style=3D"margin-top:0;border:0">Test reply.</p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0">First paragraph.</p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0">Second paragraph.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<div style=3D"color:#666">
|
||||||
|
<p>To respond, reply to this email or visit <a href=3D"https://meta.dis=
|
||||||
|
course.org/t/testing-default-email-replies/22638/3" style=3D"text-decoratio=
|
||||||
|
n:none;font-weight:bold;color:#006699;color:#666" target=3D"_blank">https:/=
|
||||||
|
/meta.discourse.org/t/testing-default-email-replies/22638/3</a> in your bro=
|
||||||
|
wser.</p>
|
||||||
|
</div>
|
||||||
|
<hr style=3D"background-color:#ddd;min-height:1px;border:1px;background-c=
|
||||||
|
olor:#ddd;min-height:1px;border:1px">
|
||||||
|
<h4>Previous Replies</h4>
|
||||||
|
|
||||||
|
<table style=3D"margin-bottom:25px" cellspacing=3D"0" cellpadding=3D"0" b=
|
||||||
|
order=3D"0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"vertical-align:top;width:55px">
|
||||||
|
<img src=3D"https://meta-discourse.global.ssl.fastly.net/user_avata=
|
||||||
|
r/meta.discourse.org/codinghorror/45/5297.png" title=3D"codinghorror" style=
|
||||||
|
=3D"max-width:100%" width=3D"45" height=3D"45">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href=3D"https://meta.discourse.org/users/codinghorror" style=3D"=
|
||||||
|
text-decoration:none;font-weight:bold;color:#006699;font-size:13px;font-fam=
|
||||||
|
ily:'lucida grande',tahoma,verdana,arial,sans-serif;color:#3b5998;t=
|
||||||
|
ext-decoration:none;font-weight:bold" target=3D"_blank">codinghorror</a><br=
|
||||||
|
>
|
||||||
|
<span style=3D"text-align:right;color:#999999;padding-right:5px;fon=
|
||||||
|
t-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:=
|
||||||
|
11px">November 28</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"padding-top:5px" colspan=3D"2">
|
||||||
|
<p style=3D"margin-top:0;border:0">We're testing the latest GitHub emai=
|
||||||
|
l processing library which we are integrating now.</p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0"><a href=3D"https://github.com/github/ema=
|
||||||
|
il_reply_parser" style=3D"text-decoration:none;font-weight:bold;color:#0066=
|
||||||
|
99" target=3D"_blank">https://github.com/github/email_reply_parser</a></p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0">Go ahead and reply to this topic and I&#=
|
||||||
|
39;ll reply from various email clients for testing.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<hr style=3D"background-color:#ddd;min-height:1px;border:1px;background-col=
|
||||||
|
or:#ddd;min-height:1px;border:1px">
|
||||||
|
|
||||||
|
<div style=3D"color:#666">
|
||||||
|
<p>To respond, reply to this email or visit <a href=3D"https://meta.discour=
|
||||||
|
se.org/t/testing-default-email-replies/22638/3" style=3D"text-decoration:no=
|
||||||
|
ne;font-weight:bold;color:#006699;color:#666" target=3D"_blank">https://met=
|
||||||
|
a.discourse.org/t/testing-default-email-replies/22638/3</a> in your browser=
|
||||||
|
.</p>
|
||||||
|
</div>
|
||||||
|
<div style=3D"color:#666">
|
||||||
|
<p>To unsubscribe from these emails, visit your <a href=3D"https://meta.dis=
|
||||||
|
course.org/my/preferences" style=3D"text-decoration:none;font-weight:bold;c=
|
||||||
|
olor:#006699;color:#666" target=3D"_blank">user preferences</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</blockquote></div>
|
||||||
|
|
||||||
|
--089e0149cfa485c6630508f173df--
|
181
spec/fixtures/emails/gmail_web.eml
vendored
Normal file
181
spec/fixtures/emails/gmail_web.eml
vendored
Normal file
|
@ -0,0 +1,181 @@
|
||||||
|
Delivered-To: reply@discourse.org
|
||||||
|
Return-Path: <walter.white@googlemail.com>
|
||||||
|
MIME-Version: 1.0
|
||||||
|
In-Reply-To: <topic/22638/86406@meta.discourse.org>
|
||||||
|
References: <topic/22638@meta.discourse.org>
|
||||||
|
<topic/22638/86406@meta.discourse.org>
|
||||||
|
Date: Fri, 28 Nov 2014 12:36:49 -0800
|
||||||
|
Subject: Re: [Discourse Meta] [Lounge] Testing default email replies
|
||||||
|
From: Walter White <walter.white@googlemail.com>
|
||||||
|
To: Discourse Meta <reply@discourse.org>
|
||||||
|
Content-Type: multipart/alternative; boundary=001a11c2e04e6544f30508f138ba
|
||||||
|
|
||||||
|
--001a11c2e04e6544f30508f138ba
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
|
||||||
|
### This is a reply from standard GMail in Google Chrome.
|
||||||
|
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over
|
||||||
|
the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown
|
||||||
|
fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over
|
||||||
|
the lazy dog. The quick brown fox jumps over the lazy dog.
|
||||||
|
|
||||||
|
Here's some **bold** text in Markdown.
|
||||||
|
|
||||||
|
Here's a link http://example.com
|
||||||
|
|
||||||
|
On Fri, Nov 28, 2014 at 12:35 PM, Arpit Jalan <info@discourse.org> wrote:
|
||||||
|
|
||||||
|
> techAPJ <https://meta.discourse.org/users/techapj>
|
||||||
|
> November 28
|
||||||
|
>
|
||||||
|
> Test reply.
|
||||||
|
>
|
||||||
|
> First paragraph.
|
||||||
|
>
|
||||||
|
> Second paragraph.
|
||||||
|
>
|
||||||
|
> To respond, reply to this email or visit
|
||||||
|
> https://meta.discourse.org/t/testing-default-email-replies/22638/3 in
|
||||||
|
> your browser.
|
||||||
|
> ------------------------------
|
||||||
|
> Previous Replies codinghorror
|
||||||
|
> <https://meta.discourse.org/users/codinghorror>
|
||||||
|
> November 28
|
||||||
|
>
|
||||||
|
> We're testing the latest GitHub email processing library which we are
|
||||||
|
> integrating now.
|
||||||
|
>
|
||||||
|
> https://github.com/github/email_reply_parser
|
||||||
|
>
|
||||||
|
> Go ahead and reply to this topic and I'll reply from various email clients
|
||||||
|
> for testing.
|
||||||
|
> ------------------------------
|
||||||
|
>
|
||||||
|
> To respond, reply to this email or visit
|
||||||
|
> https://meta.discourse.org/t/testing-default-email-replies/22638/3 in
|
||||||
|
> your browser.
|
||||||
|
>
|
||||||
|
> To unsubscribe from these emails, visit your user preferences
|
||||||
|
> <https://meta.discourse.org/my/preferences>.
|
||||||
|
>
|
||||||
|
|
||||||
|
--001a11c2e04e6544f30508f138ba
|
||||||
|
Content-Type: text/html; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: quoted-printable
|
||||||
|
|
||||||
|
<div dir=3D"ltr"><div>### This is a reply from standard GMail in Google Chr=
|
||||||
|
ome.</div><div><br></div><div>The quick brown fox jumps over the lazy dog. =
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over=
|
||||||
|
the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown=
|
||||||
|
fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. =
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over=
|
||||||
|
the lazy dog.=C2=A0</div><div><br></div><div>Here's some **bold** text=
|
||||||
|
in Markdown.</div><div><br></div><div>Here's a link <a href=3D"http://=
|
||||||
|
example.com">http://example.com</a></div></div><div class=3D"gmail_extra"><=
|
||||||
|
br><div class=3D"gmail_quote">On Fri, Nov 28, 2014 at 12:35 PM, Arpit Jalan=
|
||||||
|
<span dir=3D"ltr"><<a href=3D"mailto:info@discourse.org" target=3D"_bla=
|
||||||
|
nk">info@discourse.org</a>></span> wrote:<br><blockquote class=3D"gmail_=
|
||||||
|
quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1=
|
||||||
|
ex"><div>
|
||||||
|
|
||||||
|
<table style=3D"margin-bottom:25px" cellspacing=3D"0" cellpadding=3D"0" bor=
|
||||||
|
der=3D"0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"vertical-align:top;width:55px">
|
||||||
|
<img src=3D"https://meta-discourse.global.ssl.fastly.net/user_avata=
|
||||||
|
r/meta.discourse.org/techapj/45/3281.png" title=3D"techAPJ" style=3D"max-wi=
|
||||||
|
dth:100%" width=3D"45" height=3D"45">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href=3D"https://meta.discourse.org/users/techapj" style=3D"text-=
|
||||||
|
decoration:none;font-weight:bold;color:#006699;font-size:13px;font-family:&=
|
||||||
|
#39;lucida grande',tahoma,verdana,arial,sans-serif;color:#3b5998;text-d=
|
||||||
|
ecoration:none;font-weight:bold" target=3D"_blank">techAPJ</a><br>
|
||||||
|
<span style=3D"text-align:right;color:#999999;padding-right:5px;fon=
|
||||||
|
t-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:=
|
||||||
|
11px">November 28</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"padding-top:5px" colspan=3D"2">
|
||||||
|
<p style=3D"margin-top:0;border:0">Test reply.</p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0">First paragraph.</p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0">Second paragraph.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<div style=3D"color:#666">
|
||||||
|
<p>To respond, reply to this email or visit <a href=3D"https://meta.dis=
|
||||||
|
course.org/t/testing-default-email-replies/22638/3" style=3D"text-decoratio=
|
||||||
|
n:none;font-weight:bold;color:#006699;color:#666" target=3D"_blank">https:/=
|
||||||
|
/meta.discourse.org/t/testing-default-email-replies/22638/3</a> in your bro=
|
||||||
|
wser.</p>
|
||||||
|
</div>
|
||||||
|
<hr style=3D"background-color:#ddd;min-height:1px;border:1px;background-c=
|
||||||
|
olor:#ddd;min-height:1px;border:1px">
|
||||||
|
<h4>Previous Replies</h4>
|
||||||
|
|
||||||
|
<table style=3D"margin-bottom:25px" cellspacing=3D"0" cellpadding=3D"0" b=
|
||||||
|
order=3D"0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"vertical-align:top;width:55px">
|
||||||
|
<img src=3D"https://meta-discourse.global.ssl.fastly.net/user_avata=
|
||||||
|
r/meta.discourse.org/codinghorror/45/5297.png" title=3D"codinghorror" style=
|
||||||
|
=3D"max-width:100%" width=3D"45" height=3D"45">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href=3D"https://meta.discourse.org/users/codinghorror" style=3D"=
|
||||||
|
text-decoration:none;font-weight:bold;color:#006699;font-size:13px;font-fam=
|
||||||
|
ily:'lucida grande',tahoma,verdana,arial,sans-serif;color:#3b5998;t=
|
||||||
|
ext-decoration:none;font-weight:bold" target=3D"_blank">codinghorror</a><br=
|
||||||
|
>
|
||||||
|
<span style=3D"text-align:right;color:#999999;padding-right:5px;fon=
|
||||||
|
t-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:=
|
||||||
|
11px">November 28</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"padding-top:5px" colspan=3D"2">
|
||||||
|
<p style=3D"margin-top:0;border:0">We're testing the latest GitHub emai=
|
||||||
|
l processing library which we are integrating now.</p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0"><a href=3D"https://github.com/github/ema=
|
||||||
|
il_reply_parser" style=3D"text-decoration:none;font-weight:bold;color:#0066=
|
||||||
|
99" target=3D"_blank">https://github.com/github/email_reply_parser</a></p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0">Go ahead and reply to this topic and I&#=
|
||||||
|
39;ll reply from various email clients for testing.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<hr style=3D"background-color:#ddd;min-height:1px;border:1px;background-col=
|
||||||
|
or:#ddd;min-height:1px;border:1px">
|
||||||
|
|
||||||
|
<div style=3D"color:#666">
|
||||||
|
<p>To respond, reply to this email or visit <a href=3D"https://meta.discour=
|
||||||
|
se.org/t/testing-default-email-replies/22638/3" style=3D"text-decoration:no=
|
||||||
|
ne;font-weight:bold;color:#006699;color:#666" target=3D"_blank">https://met=
|
||||||
|
a.discourse.org/t/testing-default-email-replies/22638/3</a> in your browser=
|
||||||
|
.</p>
|
||||||
|
</div>
|
||||||
|
<div style=3D"color:#666">
|
||||||
|
<p>To unsubscribe from these emails, visit your <a href=3D"https://meta.dis=
|
||||||
|
course.org/my/preferences" style=3D"text-decoration:none;font-weight:bold;c=
|
||||||
|
olor:#006699;color:#666" target=3D"_blank">user preferences</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</blockquote></div><br></div>
|
||||||
|
|
||||||
|
--001a11c2e04e6544f30508f138ba--
|
136
spec/fixtures/emails/ios_default.eml
vendored
Normal file
136
spec/fixtures/emails/ios_default.eml
vendored
Normal file
|
@ -0,0 +1,136 @@
|
||||||
|
Delivered-To: reply@discourse.org
|
||||||
|
Return-Path: <walter.white@googlemail.com>
|
||||||
|
From: Walter White <walter.white@googlemail.com>
|
||||||
|
Content-Type: multipart/alternative;
|
||||||
|
boundary=Apple-Mail-B41C7F8E-3639-49B0-A5D5-440E125A7105
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
Mime-Version: 1.0 (1.0)
|
||||||
|
Subject: Re: [Discourse Meta] [Lounge] Testing default email replies
|
||||||
|
Date: Fri, 28 Nov 2014 12:41:41 -0800
|
||||||
|
References: <topic/22638@meta.discourse.org> <topic/22638/86406@meta.discourse.org>
|
||||||
|
In-Reply-To: <topic/22638/86406@meta.discourse.org>
|
||||||
|
To: Discourse Meta <reply@discourse.org>
|
||||||
|
X-Mailer: iPhone Mail (12B436)
|
||||||
|
|
||||||
|
|
||||||
|
--Apple-Mail-B41C7F8E-3639-49B0-A5D5-440E125A7105
|
||||||
|
Content-Type: text/plain;
|
||||||
|
charset=us-ascii
|
||||||
|
Content-Transfer-Encoding: quoted-printable
|
||||||
|
|
||||||
|
### this is a reply from iOS default mail
|
||||||
|
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over t=
|
||||||
|
he lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fo=
|
||||||
|
x jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The q=
|
||||||
|
uick brown fox jumps over the lazy dog. The quick brown fox jumps over the l=
|
||||||
|
azy dog.=20
|
||||||
|
|
||||||
|
Here's some **bold** markdown text.
|
||||||
|
|
||||||
|
Here's a link http://example.com
|
||||||
|
|
||||||
|
|
||||||
|
> On Nov 28, 2014, at 12:35 PM, Arpit Jalan <info@discourse.org> wrote:
|
||||||
|
>=20
|
||||||
|
>=20
|
||||||
|
> techAPJ
|
||||||
|
> November 28
|
||||||
|
> Test reply.
|
||||||
|
>=20
|
||||||
|
> First paragraph.
|
||||||
|
>=20
|
||||||
|
> Second paragraph.
|
||||||
|
>=20
|
||||||
|
> To respond, reply to this email or visit https://meta.discourse.org/t/test=
|
||||||
|
ing-default-email-replies/22638/3 in your browser.
|
||||||
|
>=20
|
||||||
|
> Previous Replies
|
||||||
|
>=20
|
||||||
|
> codinghorror
|
||||||
|
> November 28
|
||||||
|
> We're testing the latest GitHub email processing library which we are inte=
|
||||||
|
grating now.
|
||||||
|
>=20
|
||||||
|
> https://github.com/github/email_reply_parser
|
||||||
|
>=20
|
||||||
|
> Go ahead and reply to this topic and I'll reply from various email clients=
|
||||||
|
for testing.
|
||||||
|
>=20
|
||||||
|
> To respond, reply to this email or visit https://meta.discourse.org/t/test=
|
||||||
|
ing-default-email-replies/22638/3 in your browser.
|
||||||
|
>=20
|
||||||
|
> To unsubscribe from these emails, visit your user preferences.
|
||||||
|
|
||||||
|
--Apple-Mail-B41C7F8E-3639-49B0-A5D5-440E125A7105
|
||||||
|
Content-Type: text/html;
|
||||||
|
charset=utf-8
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
|
||||||
|
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>### this is a reply from iOS default mail</div><div><br></div><div>The quick brown fox jumps over the lazy dog. <span style="background-color: rgba(255, 255, 255, 0);">The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. </span></div><div><br></div><div>Here's some **bold** markdown text.</div><div><br></div><div>Here's a link <a href="http://example.com">http://example.com</a><br><br></div><div><br>On Nov 28, 2014, at 12:35 PM, Arpit Jalan <<a href="mailto:info@discourse.org">info@discourse.org</a>> wrote:<br><br></div><blockquote type="cite"><div><div>
|
||||||
|
|
||||||
|
<table style="margin-bottom:25px;" cellspacing="0" cellpadding="0" border="0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style="vertical-align:top;width:55px;">
|
||||||
|
<img src="https://meta-discourse.global.ssl.fastly.net/user_avatar/meta.discourse.org/techapj/45/3281.png" title="techAPJ" style="max-width:100%;" width="45" height="45">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="https://meta.discourse.org/users/techapj" target="_blank" style="text-decoration: none; font-weight: bold; color: #006699;; font-size:13px;font-family:'lucida grande',tahoma,verdana,arial,sans-serif;color:#3b5998;text-decoration:none;font-weight:bold">techAPJ</a><br>
|
||||||
|
<span style="text-align:right;color:#999999;padding-right:5px;font-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:11px">November 28</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="padding-top:5px;" colspan="2">
|
||||||
|
<p style="margin-top:0; border: 0;">Test reply.</p>
|
||||||
|
|
||||||
|
<p style="margin-top:0; border: 0;">First paragraph.</p>
|
||||||
|
|
||||||
|
<p style="margin-top:0; border: 0;">Second paragraph.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<div style="color:#666;">
|
||||||
|
<p>To respond, reply to this email or visit <a href="https://meta.discourse.org/t/testing-default-email-replies/22638/3" style="text-decoration: none; font-weight: bold; color: #006699;; color:#666;">https://meta.discourse.org/t/testing-default-email-replies/22638/3</a> in your browser.</p>
|
||||||
|
</div>
|
||||||
|
<hr style="background-color: #ddd; height: 1px; border: 1px;; background-color: #ddd; height: 1px; border: 1px;">
|
||||||
|
<h4>Previous Replies</h4>
|
||||||
|
|
||||||
|
<table style="margin-bottom:25px;" cellspacing="0" cellpadding="0" border="0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style="vertical-align:top;width:55px;">
|
||||||
|
<img src="https://meta-discourse.global.ssl.fastly.net/user_avatar/meta.discourse.org/codinghorror/45/5297.png" title="codinghorror" style="max-width:100%;" width="45" height="45">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href="https://meta.discourse.org/users/codinghorror" target="_blank" style="text-decoration: none; font-weight: bold; color: #006699;; font-size:13px;font-family:'lucida grande',tahoma,verdana,arial,sans-serif;color:#3b5998;text-decoration:none;font-weight:bold">codinghorror</a><br>
|
||||||
|
<span style="text-align:right;color:#999999;padding-right:5px;font-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:11px">November 28</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="padding-top:5px;" colspan="2">
|
||||||
|
<p style="margin-top:0; border: 0;">We're testing the latest GitHub email processing library which we are integrating now.</p>
|
||||||
|
|
||||||
|
<p style="margin-top:0; border: 0;"><a href="https://github.com/github/email_reply_parser" target="_blank" style="text-decoration: none; font-weight: bold; color: #006699;">https://github.com/github/email_reply_parser</a></p>
|
||||||
|
|
||||||
|
<p style="margin-top:0; border: 0;">Go ahead and reply to this topic and I'll reply from various email clients for testing.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<hr style="background-color: #ddd; height: 1px; border: 1px;; background-color: #ddd; height: 1px; border: 1px;">
|
||||||
|
|
||||||
|
<div style="color:#666;">
|
||||||
|
<p>To respond, reply to this email or visit <a href="https://meta.discourse.org/t/testing-default-email-replies/22638/3" style="text-decoration: none; font-weight: bold; color: #006699;; color:#666;">https://meta.discourse.org/t/testing-default-email-replies/22638/3</a> in your browser.</p>
|
||||||
|
</div>
|
||||||
|
<div style="color:#666;">
|
||||||
|
<p>To unsubscribe from these emails, visit your <a href="https://meta.discourse.org/my/preferences" style="text-decoration: none; font-weight: bold; color: #006699;; color:#666;">user preferences</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></blockquote></body></html>
|
||||||
|
--Apple-Mail-B41C7F8E-3639-49B0-A5D5-440E125A7105--
|
29
spec/fixtures/emails/iphone_signature.eml
vendored
Normal file
29
spec/fixtures/emails/iphone_signature.eml
vendored
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
Delivered-To: test@mail.com
|
||||||
|
Return-Path: <walter.white@googlemail.com>
|
||||||
|
From: Walter White <walter.white@googlemail.com>
|
||||||
|
Content-Type: multipart/alternative;
|
||||||
|
boundary=Apple-Mail-8E182EEF-9DBC-41DE-A593-DF2E5EBD3975
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
Mime-Version: 1.0 (1.0)
|
||||||
|
Subject: Re: Signature in email replies!
|
||||||
|
Date: Thu, 23 Oct 2014 14:43:49 +0530
|
||||||
|
References: <1234@mail.gmail.com>
|
||||||
|
In-Reply-To: <1234@mail.gmail.com>
|
||||||
|
To: Arpit Jalan <test@mail.com>
|
||||||
|
X-Mailer: iPhone Mail (12A405)
|
||||||
|
|
||||||
|
|
||||||
|
--Apple-Mail-8E182EEF-9DBC-41DE-A593-DF2E5EBD3975
|
||||||
|
Content-Type: text/plain;
|
||||||
|
charset=us-ascii
|
||||||
|
Content-Transfer-Encoding: 7bit
|
||||||
|
|
||||||
|
This post should not include signature.
|
||||||
|
|
||||||
|
Sent from my iPhone
|
||||||
|
|
||||||
|
> On 23-Oct-2014, at 9:45 am, Arpit Jalan <test@mail.com> wrote:
|
||||||
|
>
|
||||||
|
> Signature in email replies!
|
||||||
|
|
||||||
|
--Apple-Mail-8E182EEF-9DBC-41DE-A593-DF2E5EBD3975
|
84
spec/fixtures/emails/newlines.eml
vendored
Normal file
84
spec/fixtures/emails/newlines.eml
vendored
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
In-Reply-To: <test@discourse-app.mail>
|
||||||
|
Date: Wed, 8 Oct 2014 10:36:19 +0530
|
||||||
|
Delivered-To: walter.white@googlemail.com
|
||||||
|
Subject: Re: [Discourse] Welcome to Discourse
|
||||||
|
From: Walter White <walter.white@googlemail.com>
|
||||||
|
To: Discourse <mail@arpitjalan.com>
|
||||||
|
Content-Type: multipart/alternative; boundary=bcaec554078cc3d0c10504e24661
|
||||||
|
|
||||||
|
--bcaec554078cc3d0c10504e24661
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: quoted-printable
|
||||||
|
|
||||||
|
This is my reply.
|
||||||
|
It is my best reply.
|
||||||
|
It will also be my *only* reply.
|
||||||
|
|
||||||
|
On Wed, Oct 8, 2014 at 10:33 AM, ajalan <info@unconfigured.discourse.org>
|
||||||
|
wrote:
|
||||||
|
|
||||||
|
> ajalan
|
||||||
|
> <http://mandrillapp.com/track/click/30081177/discourse.techapj.com?p=3Dey=
|
||||||
|
JzIjoiMGM3a1pGT250VG5sb242RVNTdFdjS1FUSHdzIiwidiI6MSwicCI6IntcInVcIjozMDA4M=
|
||||||
|
TE3NyxcInZcIjoxLFwidXJsXCI6XCJodHRwOlxcXC9cXFwvZGlzY291cnNlLnRlY2hhcGouY29t=
|
||||||
|
XFxcL3VzZXJzXFxcL2FqYWxhblwiLFwiaWRcIjpcImQxOWYxYjQ5NTdkODRkMGNhZWY1NDEzZGN=
|
||||||
|
hODA4YTRhXCIsXCJ1cmxfaWRzXCI6W1wiNzA3MTNjNTg4MDI3YWQyM2RiM2QwOTVhOGQwYmY4ZT=
|
||||||
|
YyMzNjYThiMFwiXX0ifQ>
|
||||||
|
> October 8
|
||||||
|
>
|
||||||
|
> Awesome! Thank You! [image: +1]
|
||||||
|
>
|
||||||
|
> To respond, reply to this email or visit
|
||||||
|
> http://discourse.techapj.com/t/welcome-to-discourse/8/2
|
||||||
|
> <http://mandrillapp.com/track/click/30081177/discourse.techapj.com?p=3Dey=
|
||||||
|
JzIjoibzNWaXFDRDdxSFNCbVRkUmdONlRJVW1ENU8wIiwidiI6MSwicCI6IntcInVcIjozMDA4M=
|
||||||
|
TE3NyxcInZcIjoxLFwidXJsXCI6XCJodHRwOlxcXC9cXFwvZGlzY291cnNlLnRlY2hhcGouY29t=
|
||||||
|
XFxcL3RcXFwvd2VsY29tZS10by1kaXNjb3Vyc2VcXFwvOFxcXC8yXCIsXCJpZFwiOlwiZDE5ZjF=
|
||||||
|
iNDk1N2Q4NGQwY2FlZjU0MTNkY2E4MDhhNGFcIixcInVybF9pZHNcIjpbXCIwYmFkNjE2NDJkNm=
|
||||||
|
M2NzJhNGU0ZjYzMGU2ZDA5M2I3MzU3NzQ4MzYxXCJdfSJ9>
|
||||||
|
> in your browser.
|
||||||
|
> ------------------------------
|
||||||
|
> Previous Replies system
|
||||||
|
> <http://mandrillapp.com/track/click/30081177/discourse.techapj.com?p=3Dey=
|
||||||
|
JzIjoicjFZQm8ySTJjUEtNclpvekZ5ZmFqYmdpTVFNIiwidiI6MSwicCI6IntcInVcIjozMDA4M=
|
||||||
|
TE3NyxcInZcIjoxLFwidXJsXCI6XCJodHRwOlxcXC9cXFwvZGlzY291cnNlLnRlY2hhcGouY29t=
|
||||||
|
XFxcL3VzZXJzXFxcL3N5c3RlbVwiLFwiaWRcIjpcImQxOWYxYjQ5NTdkODRkMGNhZWY1NDEzZGN=
|
||||||
|
hODA4YTRhXCIsXCJ1cmxfaWRzXCI6W1wiMTcxNWU2OTE1M2UzMjk4YmM2Y2NhMWEyM2E5N2ViMW=
|
||||||
|
U5N2IwMWYyNFwiXX0ifQ>
|
||||||
|
> October 8
|
||||||
|
>
|
||||||
|
> The first paragraph of this pinned topic will be visible as a welcome
|
||||||
|
> message to all new visitors on your homepage. It's important!
|
||||||
|
>
|
||||||
|
> *Edit this* into a brief description of your community:
|
||||||
|
>
|
||||||
|
> - Who is it for?
|
||||||
|
> - What can they find here?
|
||||||
|
> - Why should they come here?
|
||||||
|
> - Where can they read more (links, resources, etc)?
|
||||||
|
>
|
||||||
|
> You may want to close this topic via the wrench icon at the upper right,
|
||||||
|
> so that replies don't pile up on an announcement.
|
||||||
|
> ------------------------------
|
||||||
|
>
|
||||||
|
> To respond, reply to this email or visit
|
||||||
|
> http://discourse.techapj.com/t/welcome-to-discourse/8/2
|
||||||
|
> <http://mandrillapp.com/track/click/30081177/discourse.techapj.com?p=3Dey=
|
||||||
|
JzIjoibzNWaXFDRDdxSFNCbVRkUmdONlRJVW1ENU8wIiwidiI6MSwicCI6IntcInVcIjozMDA4M=
|
||||||
|
TE3NyxcInZcIjoxLFwidXJsXCI6XCJodHRwOlxcXC9cXFwvZGlzY291cnNlLnRlY2hhcGouY29t=
|
||||||
|
XFxcL3RcXFwvd2VsY29tZS10by1kaXNjb3Vyc2VcXFwvOFxcXC8yXCIsXCJpZFwiOlwiZDE5ZjF=
|
||||||
|
iNDk1N2Q4NGQwY2FlZjU0MTNkY2E4MDhhNGFcIixcInVybF9pZHNcIjpbXCIwYmFkNjE2NDJkNm=
|
||||||
|
M2NzJhNGU0ZjYzMGU2ZDA5M2I3MzU3NzQ4MzYxXCJdfSJ9>
|
||||||
|
> in your browser.
|
||||||
|
>
|
||||||
|
> To unsubscribe from these emails, visit your user preferences
|
||||||
|
> <http://mandrillapp.com/track/click/30081177/discourse.techapj.com?p=3Dey=
|
||||||
|
JzIjoiaFdWSWtiRGIybjJOeWc0VHRrenAzbnhraU93IiwidiI6MSwicCI6IntcInVcIjozMDA4M=
|
||||||
|
TE3NyxcInZcIjoxLFwidXJsXCI6XCJodHRwOlxcXC9cXFwvZGlzY291cnNlLnRlY2hhcGouY29t=
|
||||||
|
XFxcL215XFxcL3ByZWZlcmVuY2VzXCIsXCJpZFwiOlwiZDE5ZjFiNDk1N2Q4NGQwY2FlZjU0MTN=
|
||||||
|
kY2E4MDhhNGFcIixcInVybF9pZHNcIjpbXCI0OTIyMmMyZDgyNzUwMmQyMGZjYzU4MTZkNjhmYT=
|
||||||
|
k3NzFkY2YzZDllXCJdfSJ9>
|
||||||
|
> .
|
||||||
|
>
|
||||||
|
|
||||||
|
--bcaec554078cc3d0c10504e24661
|
180
spec/fixtures/emails/previous_replies.eml
vendored
Normal file
180
spec/fixtures/emails/previous_replies.eml
vendored
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
Delivered-To: reply@discourse.org
|
||||||
|
MIME-Version: 1.0
|
||||||
|
In-Reply-To: <topic/22638/86406@meta.discourse.org>
|
||||||
|
References: <topic/22638@meta.discourse.org>
|
||||||
|
<topic/22638/86406@meta.discourse.org>
|
||||||
|
Date: Fri, 28 Nov 2014 12:55:32 -0800
|
||||||
|
Subject: Re: [Discourse Meta] [Lounge] Testing default email replies
|
||||||
|
From: Walter White <walter.white@googlemail.com>
|
||||||
|
To: Discourse Meta <reply@discourse.org>
|
||||||
|
Content-Type: multipart/alternative; boundary=001a1137c9285318bb0508f17bc5
|
||||||
|
|
||||||
|
--001a1137c9285318bb0508f17bc5
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
|
||||||
|
### this is a reply from iOS Gmail app
|
||||||
|
|
||||||
|
The quick brown fox jumps over the lazy dog. The quick brown fox jumps over
|
||||||
|
the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown
|
||||||
|
fox jumps over the lazy dog. The quick brown fox jumps over the lazy
|
||||||
|
dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps
|
||||||
|
over the lazy dog.
|
||||||
|
|
||||||
|
This is **bold** text in Markdown.
|
||||||
|
|
||||||
|
This is a link to http://example.com
|
||||||
|
|
||||||
|
On Friday, November 28, 2014, Arpit Jalan <info@discourse.org> wrote:
|
||||||
|
|
||||||
|
> techAPJ <https://meta.discourse.org/users/techapj>
|
||||||
|
> November 28
|
||||||
|
>
|
||||||
|
> Test reply.
|
||||||
|
>
|
||||||
|
> First paragraph.
|
||||||
|
>
|
||||||
|
> Second paragraph.
|
||||||
|
>
|
||||||
|
> To respond, reply to this email or visit
|
||||||
|
> https://meta.discourse.org/t/testing-default-email-replies/22638/3 in
|
||||||
|
> your browser.
|
||||||
|
> ------------------------------
|
||||||
|
> Previous Replies codinghorror
|
||||||
|
> <https://meta.discourse.org/users/codinghorror>
|
||||||
|
> November 28
|
||||||
|
>
|
||||||
|
> We're testing the latest GitHub email processing library which we are
|
||||||
|
> integrating now.
|
||||||
|
>
|
||||||
|
> https://github.com/github/email_reply_parser
|
||||||
|
>
|
||||||
|
> Go ahead and reply to this topic and I'll reply from various email clients
|
||||||
|
> for testing.
|
||||||
|
> ------------------------------
|
||||||
|
>
|
||||||
|
> To respond, reply to this email or visit
|
||||||
|
> https://meta.discourse.org/t/testing-default-email-replies/22638/3 in
|
||||||
|
> your browser.
|
||||||
|
>
|
||||||
|
> To unsubscribe from these emails, visit your user preferences
|
||||||
|
> <https://meta.discourse.org/my/preferences>.
|
||||||
|
>
|
||||||
|
|
||||||
|
--001a1137c9285318bb0508f17bc5
|
||||||
|
Content-Type: text/html; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: quoted-printable
|
||||||
|
|
||||||
|
### this is a reply from iOS Gmail app<div><br></div><div>The quick brown f=
|
||||||
|
ox jumps over the lazy dog.=C2=A0<font><span style=3D"background-color:rgba=
|
||||||
|
(255,255,255,0)">The quick brown fox jumps over the lazy dog.=C2=A0The quic=
|
||||||
|
k brown fox jumps over the lazy dog.=C2=A0The quick brown fox jumps over th=
|
||||||
|
e lazy dog.=C2=A0The quick brown fox jumps over the lazy dog.=C2=A0The quic=
|
||||||
|
k brown fox jumps over the lazy dog.=C2=A0The quick brown fox jumps over th=
|
||||||
|
e lazy dog.=C2=A0</span></font></div><div><font><span style><br></span></fo=
|
||||||
|
nt></div><div><font><span style>This is **bold** text in Markdown.</span></=
|
||||||
|
font></div><div><font><span style><br></span></font></div><div><font><span =
|
||||||
|
style>This is a link to <a href=3D"http://example.com">http://example.com</=
|
||||||
|
a><br></span></font><br>On Friday, November 28, 2014, Arpit Jalan <<a hr=
|
||||||
|
ef=3D"mailto:info@discourse.org">info@discourse.org</a>> wrote:<br><bloc=
|
||||||
|
kquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #cc=
|
||||||
|
c solid;padding-left:1ex"><div>
|
||||||
|
|
||||||
|
<table style=3D"margin-bottom:25px" cellspacing=3D"0" cellpadding=3D"0" bor=
|
||||||
|
der=3D"0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"vertical-align:top;width:55px">
|
||||||
|
<img src=3D"https://meta-discourse.global.ssl.fastly.net/user_avata=
|
||||||
|
r/meta.discourse.org/techapj/45/3281.png" title=3D"techAPJ" style=3D"max-wi=
|
||||||
|
dth:100%" width=3D"45" height=3D"45">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href=3D"https://meta.discourse.org/users/techapj" style=3D"text-=
|
||||||
|
decoration:none;font-weight:bold;color:#006699;font-size:13px;font-family:&=
|
||||||
|
#39;lucida grande',tahoma,verdana,arial,sans-serif;color:#3b5998;text-d=
|
||||||
|
ecoration:none;font-weight:bold" target=3D"_blank">techAPJ</a><br>
|
||||||
|
<span style=3D"text-align:right;color:#999999;padding-right:5px;fon=
|
||||||
|
t-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:=
|
||||||
|
11px">November 28</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"padding-top:5px" colspan=3D"2">
|
||||||
|
<p style=3D"margin-top:0;border:0">Test reply.</p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0">First paragraph.</p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0">Second paragraph.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<div style=3D"color:#666">
|
||||||
|
<p>To respond, reply to this email or visit <a href=3D"https://meta.dis=
|
||||||
|
course.org/t/testing-default-email-replies/22638/3" style=3D"text-decoratio=
|
||||||
|
n:none;font-weight:bold;color:#006699;color:#666" target=3D"_blank">https:/=
|
||||||
|
/meta.discourse.org/t/testing-default-email-replies/22638/3</a> in your bro=
|
||||||
|
wser.</p>
|
||||||
|
</div>
|
||||||
|
<hr style=3D"background-color:#ddd;min-height:1px;border:1px;background-c=
|
||||||
|
olor:#ddd;min-height:1px;border:1px">
|
||||||
|
<h4>Previous Replies</h4>
|
||||||
|
|
||||||
|
<table style=3D"margin-bottom:25px" cellspacing=3D"0" cellpadding=3D"0" b=
|
||||||
|
order=3D"0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"vertical-align:top;width:55px">
|
||||||
|
<img src=3D"https://meta-discourse.global.ssl.fastly.net/user_avata=
|
||||||
|
r/meta.discourse.org/codinghorror/45/5297.png" title=3D"codinghorror" style=
|
||||||
|
=3D"max-width:100%" width=3D"45" height=3D"45">
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<a href=3D"https://meta.discourse.org/users/codinghorror" style=3D"=
|
||||||
|
text-decoration:none;font-weight:bold;color:#006699;font-size:13px;font-fam=
|
||||||
|
ily:'lucida grande',tahoma,verdana,arial,sans-serif;color:#3b5998;t=
|
||||||
|
ext-decoration:none;font-weight:bold" target=3D"_blank">codinghorror</a><br=
|
||||||
|
>
|
||||||
|
<span style=3D"text-align:right;color:#999999;padding-right:5px;fon=
|
||||||
|
t-family:'lucida grande',tahoma,verdana,arial,sans-serif;font-size:=
|
||||||
|
11px">November 28</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style=3D"padding-top:5px" colspan=3D"2">
|
||||||
|
<p style=3D"margin-top:0;border:0">We're testing the latest GitHub emai=
|
||||||
|
l processing library which we are integrating now.</p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0"><a href=3D"https://github.com/github/ema=
|
||||||
|
il_reply_parser" style=3D"text-decoration:none;font-weight:bold;color:#0066=
|
||||||
|
99" target=3D"_blank">https://github.com/github/email_reply_parser</a></p>
|
||||||
|
|
||||||
|
<p style=3D"margin-top:0;border:0">Go ahead and reply to this topic and I&#=
|
||||||
|
39;ll reply from various email clients for testing.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
<hr style=3D"background-color:#ddd;min-height:1px;border:1px;background-col=
|
||||||
|
or:#ddd;min-height:1px;border:1px">
|
||||||
|
|
||||||
|
<div style=3D"color:#666">
|
||||||
|
<p>To respond, reply to this email or visit <a href=3D"https://meta.discour=
|
||||||
|
se.org/t/testing-default-email-replies/22638/3" style=3D"text-decoration:no=
|
||||||
|
ne;font-weight:bold;color:#006699;color:#666" target=3D"_blank">https://met=
|
||||||
|
a.discourse.org/t/testing-default-email-replies/22638/3</a> in your browser=
|
||||||
|
.</p>
|
||||||
|
</div>
|
||||||
|
<div style=3D"color:#666">
|
||||||
|
<p>To unsubscribe from these emails, visit your <a href=3D"https://meta.dis=
|
||||||
|
course.org/my/preferences" style=3D"text-decoration:none;font-weight:bold;c=
|
||||||
|
olor:#006699;color:#666" target=3D"_blank">user preferences</a>.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</blockquote></div>
|
||||||
|
|
||||||
|
--001a1137c9285318bb0508f17bc5--
|
173
spec/fixtures/emails/windows_8_metro.eml
vendored
Normal file
173
spec/fixtures/emails/windows_8_metro.eml
vendored
Normal file
|
@ -0,0 +1,173 @@
|
||||||
|
Delivered-To: reply@discourse.org
|
||||||
|
Return-Path: <walter.white@googlemail.com>
|
||||||
|
MIME-Version: 1.0
|
||||||
|
From: <walter.white@googlemail.com>
|
||||||
|
To:
|
||||||
|
=?utf-8?Q?Discourse_Meta?=
|
||||||
|
<reply@discourse.org>
|
||||||
|
Subject:
|
||||||
|
=?utf-8?Q?Re:_[Discourse_Meta]_[Lounge]_Testing_default_email_replies?=
|
||||||
|
Importance: Normal
|
||||||
|
Date: Fri, 28 Nov 2014 21:29:10 +0000
|
||||||
|
In-Reply-To: <topic/22638/86406@meta.discourse.org>
|
||||||
|
References:
|
||||||
|
<topic/22638@meta.discourse.org>,<topic/22638/86406@meta.discourse.org>
|
||||||
|
Content-Type: multipart/alternative;
|
||||||
|
boundary="_866E2678-BB4F-4DD8-BE18-81B04AD8D1BC_"
|
||||||
|
|
||||||
|
--_866E2678-BB4F-4DD8-BE18-81B04AD8D1BC_
|
||||||
|
Content-Transfer-Encoding: base64
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
|
||||||
|
IyMjIHJlcGx5IGZyb20gZGVmYXVsdCBtYWlsIGNsaWVudCBpbiBXaW5kb3dzIDguMSBNZXRybw0K
|
||||||
|
DQoNClRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWlj
|
||||||
|
ayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gg
|
||||||
|
anVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0
|
||||||
|
aGUgbGF6eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cu
|
||||||
|
IFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWljayBi
|
||||||
|
cm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gganVt
|
||||||
|
cHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUg
|
||||||
|
bGF6eSBkb2cuDQoNCg0KVGhpcyBpcyBhICoqYm9sZCoqIHdvcmQgaW4gTWFya2Rvd24NCg0KDQpU
|
||||||
|
aGlzIGlzIGEgbGluayBodHRwOi8vZXhhbXBsZS5jb20NCiANCg0KDQoNCg0KDQpGcm9tOiBBcnBp
|
||||||
|
dCBKYWxhbg0KU2VudDog4oCORnJpZGF54oCOLCDigI5Ob3ZlbWJlcuKAjiDigI4yOOKAjiwg4oCO
|
||||||
|
MjAxNCDigI4xMuKAjjrigI4zNeKAjiDigI5QTQ0KVG86IGplZmYgYXR3b29kDQoNCg0KDQoNCg0K
|
||||||
|
DQogdGVjaEFQSg0KTm92ZW1iZXIgMjggDQoNClRlc3QgcmVwbHkuDQoNCkZpcnN0IHBhcmFncmFw
|
||||||
|
aC4NCg0KU2Vjb25kIHBhcmFncmFwaC4NCg0KDQoNClRvIHJlc3BvbmQsIHJlcGx5IHRvIHRoaXMg
|
||||||
|
ZW1haWwgb3IgdmlzaXQgaHR0cHM6Ly9tZXRhLmRpc2NvdXJzZS5vcmcvdC90ZXN0aW5nLWRlZmF1
|
||||||
|
bHQtZW1haWwtcmVwbGllcy8yMjYzOC8zIGluIHlvdXIgYnJvd3Nlci4NCg0KDQoNClByZXZpb3Vz
|
||||||
|
IFJlcGxpZXMNCg0KIGNvZGluZ2hvcnJvcg0KTm92ZW1iZXIgMjggDQoNCldlJ3JlIHRlc3Rpbmcg
|
||||||
|
dGhlIGxhdGVzdCBHaXRIdWIgZW1haWwgcHJvY2Vzc2luZyBsaWJyYXJ5IHdoaWNoIHdlIGFyZSBp
|
||||||
|
bnRlZ3JhdGluZyBub3cuDQoNCmh0dHBzOi8vZ2l0aHViLmNvbS9naXRodWIvZW1haWxfcmVwbHlf
|
||||||
|
cGFyc2VyDQoNCkdvIGFoZWFkIGFuZCByZXBseSB0byB0aGlzIHRvcGljIGFuZCBJJ2xsIHJlcGx5
|
||||||
|
IGZyb20gdmFyaW91cyBlbWFpbCBjbGllbnRzIGZvciB0ZXN0aW5nLg0KDQoNCg0KDQoNClRvIHJl
|
||||||
|
c3BvbmQsIHJlcGx5IHRvIHRoaXMgZW1haWwgb3IgdmlzaXQgaHR0cHM6Ly9tZXRhLmRpc2NvdXJz
|
||||||
|
ZS5vcmcvdC90ZXN0aW5nLWRlZmF1bHQtZW1haWwtcmVwbGllcy8yMjYzOC8zIGluIHlvdXIgYnJv
|
||||||
|
d3Nlci4NCg0KDQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoZXNlIGVtYWlscywgdmlzaXQgeW91ciB1
|
||||||
|
c2VyIHByZWZlcmVuY2VzLg==
|
||||||
|
|
||||||
|
--_866E2678-BB4F-4DD8-BE18-81B04AD8D1BC_
|
||||||
|
Content-Transfer-Encoding: base64
|
||||||
|
Content-Type: text/html; charset="utf-8"
|
||||||
|
|
||||||
|
CjxodG1sPgo8aGVhZD4KPG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJXaW5kb3dzIE1h
|
||||||
|
aWwgMTcuNS45NjAwLjIwNjA1Ij4KPHN0eWxlIGRhdGEtZXh0ZXJuYWxzdHlsZT0idHJ1ZSI+PCEt
|
||||||
|
LQpwLk1zb0xpc3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3JhcGgsIGRpdi5Nc29MaXN0UGFy
|
||||||
|
YWdyYXBoIHsKbWFyZ2luLXRvcDowaW47Cm1hcmdpbi1yaWdodDowaW47Cm1hcmdpbi1ib3R0b206
|
||||||
|
MGluOwptYXJnaW4tbGVmdDouNWluOwptYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cn0KcC5Nc29Ob3Jt
|
||||||
|
YWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbCB7Cm1hcmdpbjowaW47Cm1hcmdpbi1ib3R0
|
||||||
|
b206LjAwMDFwdDsKfQpwLk1zb0xpc3RQYXJhZ3JhcGhDeFNwRmlyc3QsIGxpLk1zb0xpc3RQYXJh
|
||||||
|
Z3JhcGhDeFNwRmlyc3QsIGRpdi5Nc29MaXN0UGFyYWdyYXBoQ3hTcEZpcnN0LCAKcC5Nc29MaXN0
|
||||||
|
UGFyYWdyYXBoQ3hTcE1pZGRsZSwgbGkuTXNvTGlzdFBhcmFncmFwaEN4U3BNaWRkbGUsIGRpdi5N
|
||||||
|
c29MaXN0UGFyYWdyYXBoQ3hTcE1pZGRsZSwgCnAuTXNvTGlzdFBhcmFncmFwaEN4U3BMYXN0LCBs
|
||||||
|
aS5Nc29MaXN0UGFyYWdyYXBoQ3hTcExhc3QsIGRpdi5Nc29MaXN0UGFyYWdyYXBoQ3hTcExhc3Qg
|
||||||
|
ewptYXJnaW4tdG9wOjBpbjsKbWFyZ2luLXJpZ2h0OjBpbjsKbWFyZ2luLWJvdHRvbTowaW47Cm1h
|
||||||
|
cmdpbi1sZWZ0Oi41aW47Cm1hcmdpbi1ib3R0b206LjAwMDFwdDsKbGluZS1oZWlnaHQ6MTE1JTsK
|
||||||
|
fQotLT48L3N0eWxlPjwvaGVhZD4KPGJvZHkgZGlyPSJsdHIiPgo8ZGl2IGRhdGEtZXh0ZXJuYWxz
|
||||||
|
dHlsZT0iZmFsc2UiIGRpcj0ibHRyIiBzdHlsZT0iZm9udC1mYW1pbHk6ICdDYWxpYnJpJywgJ1Nl
|
||||||
|
Z29lIFVJJywgJ01laXJ5bycsICdNaWNyb3NvZnQgWWFIZWkgVUknLCAnTWljcm9zb2Z0IEpoZW5n
|
||||||
|
SGVpIFVJJywgJ01hbGd1biBHb3RoaWMnLCAnc2Fucy1zZXJpZic7Zm9udC1zaXplOjEycHQ7Ij48
|
||||||
|
ZGl2IHN0eWxlPSJmb250LXNpemU6IDE0cHQ7Ij4jIyMgcmVwbHkgZnJvbSBkZWZhdWx0IG1haWwg
|
||||||
|
Y2xpZW50IGluIFdpbmRvd3MgOC4xIE1ldHJvPC9kaXY+PGRpdiBzdHlsZT0iZm9udC1zaXplOiAx
|
||||||
|
NHB0OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTRwdDsiPlRoZSBxdWljayBi
|
||||||
|
cm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gganVt
|
||||||
|
cHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUg
|
||||||
|
bGF6eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRo
|
||||||
|
ZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWljayBicm93
|
||||||
|
biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gganVtcHMg
|
||||||
|
b3ZlciB0aGUgbGF6eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6
|
||||||
|
eSBkb2cuIFRoZSBxdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2cuPC9kaXY+
|
||||||
|
PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB0OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQt
|
||||||
|
c2l6ZTogMTRwdDsiPlRoaXMgaXMgYSAqKmJvbGQqKiB3b3JkIGluIE1hcmtkb3duPC9kaXY+PGRp
|
||||||
|
diBzdHlsZT0iZm9udC1zaXplOiAxNHB0OyI+PGJyPjwvZGl2PjxkaXYgc3R5bGU9ImZvbnQtc2l6
|
||||||
|
ZTogMTRwdDsiPlRoaXMgaXMgYSBsaW5rIDxhIGhyZWY9Imh0dHA6Ly9leGFtcGxlLmNvbSI+aHR0
|
||||||
|
cDovL2V4YW1wbGUuY29tPC9hPjxicj4mbmJzcDs8L2Rpdj48ZGl2IHN0eWxlPSJmb250LXNpemU6
|
||||||
|
IDE0cHQ7Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0icGFkZGluZy10b3A6IDVweDsgYm9yZGVyLXRv
|
||||||
|
cC1jb2xvcjogcmdiKDIyOSwgMjI5LCAyMjkpOyBib3JkZXItdG9wLXdpZHRoOiAxcHg7IGJvcmRl
|
||||||
|
ci10b3Atc3R5bGU6IHNvbGlkOyI+PGRpdj48Zm9udCBmYWNlPSIgJ0NhbGlicmknLCAnU2Vnb2Ug
|
||||||
|
VUknLCAnTWVpcnlvJywgJ01pY3Jvc29mdCBZYUhlaSBVSScsICdNaWNyb3NvZnQgSmhlbmdIZWkg
|
||||||
|
VUknLCAnTWFsZ3VuIEdvdGhpYycsICdzYW5zLXNlcmlmJyIgc3R5bGU9J2xpbmUtaGVpZ2h0OiAx
|
||||||
|
NXB0OyBsZXR0ZXItc3BhY2luZzogMC4wMmVtOyBmb250LWZhbWlseTogIkNhbGlicmkiLCAiU2Vn
|
||||||
|
b2UgVUkiLCAiTWVpcnlvIiwgIk1pY3Jvc29mdCBZYUhlaSBVSSIsICJNaWNyb3NvZnQgSmhlbmdI
|
||||||
|
ZWkgVUkiLCAiTWFsZ3VuIEdvdGhpYyIsICJzYW5zLXNlcmlmIjsgZm9udC1zaXplOiAxMnB0Oyc+
|
||||||
|
PGI+RnJvbTo8L2I+Jm5ic3A7PGEgaHJlZj0ibWFpbHRvOmluZm9AZGlzY291cnNlLm9yZyIgdGFy
|
||||||
|
Z2V0PSJfcGFyZW50Ij5BcnBpdCBKYWxhbjwvYT48YnI+PGI+U2VudDo8L2I+Jm5ic3A74oCORnJp
|
||||||
|
ZGF54oCOLCDigI5Ob3ZlbWJlcuKAjiDigI4yOOKAjiwg4oCOMjAxNCDigI4xMuKAjjrigI4zNeKA
|
||||||
|
jiDigI5QTTxicj48Yj5Ubzo8L2I+Jm5ic3A7PGEgaHJlZj0ibWFpbHRvOmphdHdvb2RAY29kaW5n
|
||||||
|
aG9ycm9yLmNvbSIgdGFyZ2V0PSJfcGFyZW50Ij5qZWZmIGF0d29vZDwvYT48L2ZvbnQ+PC9kaXY+
|
||||||
|
PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdiBkaXI9IiI+PGRpdj4KCjx0YWJsZSB0YWJpbmRleD0i
|
||||||
|
LTEiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAyNXB4OyIgYm9yZGVyPSIwIiBjZWxsc3BhY2luZz0i
|
||||||
|
MCIgY2VsbHBhZGRpbmc9IjAiPgogIDx0Ym9keT4KICAgIDx0cj4KICAgICAgPHRkIHN0eWxlPSJ3
|
||||||
|
aWR0aDogNTVweDsgdmVydGljYWwtYWxpZ246IHRvcDsiPgogICAgICAgIDxpbWcgd2lkdGg9IjQ1
|
||||||
|
IiBoZWlnaHQ9IjQ1IiB0YWJpbmRleD0iLTEiIHN0eWxlPSJtYXgtd2lkdGg6IDEwMCU7IiBzcmM9
|
||||||
|
Imh0dHBzOi8vbWV0YS1kaXNjb3Vyc2UuZ2xvYmFsLnNzbC5mYXN0bHkubmV0L3VzZXJfYXZhdGFy
|
||||||
|
L21ldGEuZGlzY291cnNlLm9yZy90ZWNoYXBqLzQ1LzMyODEucG5nIiBkYXRhLW1zLWltZ3NyYz0i
|
||||||
|
aHR0cHM6Ly9tZXRhLWRpc2NvdXJzZS5nbG9iYWwuc3NsLmZhc3RseS5uZXQvdXNlcl9hdmF0YXIv
|
||||||
|
bWV0YS5kaXNjb3Vyc2Uub3JnL3RlY2hhcGovNDUvMzI4MS5wbmciPgogICAgICA8L3RkPgogICAg
|
||||||
|
ICA8dGQ+CiAgICAgICAgPGEgc3R5bGU9J2NvbG9yOiByZ2IoNTksIDg5LCAxNTIpOyBmb250LWZh
|
||||||
|
bWlseTogImx1Y2lkYSBncmFuZGUiLHRhaG9tYSx2ZXJkYW5hLGFyaWFsLHNhbnMtc2VyaWY7IGZv
|
||||||
|
bnQtc2l6ZTogMTNweDsgZm9udC13ZWlnaHQ6IGJvbGQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsn
|
||||||
|
IGhyZWY9Imh0dHBzOi8vbWV0YS5kaXNjb3Vyc2Uub3JnL3VzZXJzL3RlY2hhcGoiIHRhcmdldD0i
|
||||||
|
X3BhcmVudCI+dGVjaEFQSjwvYT48YnI+CiAgICAgICAgPHNwYW4gc3R5bGU9J3RleHQtYWxpZ246
|
||||||
|
IHJpZ2h0OyBjb2xvcjogcmdiKDE1MywgMTUzLCAxNTMpOyBwYWRkaW5nLXJpZ2h0OiA1cHg7IGZv
|
||||||
|
bnQtZmFtaWx5OiAibHVjaWRhIGdyYW5kZSIsdGFob21hLHZlcmRhbmEsYXJpYWwsc2Fucy1zZXJp
|
||||||
|
ZjsgZm9udC1zaXplOiAxMXB4Oyc+Tm92ZW1iZXIgMjg8L3NwYW4+CiAgICAgIDwvdGQ+CiAgICA8
|
||||||
|
L3RyPgogICAgPHRyPgogICAgICA8dGQgc3R5bGU9InBhZGRpbmctdG9wOiA1cHg7IiBjb2xzcGFu
|
||||||
|
PSIyIj4KPHAgc3R5bGU9ImJvcmRlcjogMHB4IGJsYWNrOyBib3JkZXItaW1hZ2U6IG5vbmU7IG1h
|
||||||
|
cmdpbi10b3A6IDBweDsiPlRlc3QgcmVwbHkuPC9wPgoKPHAgc3R5bGU9ImJvcmRlcjogMHB4IGJs
|
||||||
|
YWNrOyBib3JkZXItaW1hZ2U6IG5vbmU7IG1hcmdpbi10b3A6IDBweDsiPkZpcnN0IHBhcmFncmFw
|
||||||
|
aC48L3A+Cgo8cCBzdHlsZT0iYm9yZGVyOiAwcHggYmxhY2s7IGJvcmRlci1pbWFnZTogbm9uZTsg
|
||||||
|
bWFyZ2luLXRvcDogMHB4OyI+U2Vjb25kIHBhcmFncmFwaC48L3A+CjwvdGQ+CiAgICA8L3RyPgog
|
||||||
|
IDwvdGJvZHk+CjwvdGFibGU+CgoKICA8ZGl2IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAx
|
||||||
|
MDIpOyI+CiAgICA8cD5UbyByZXNwb25kLCByZXBseSB0byB0aGlzIGVtYWlsIG9yIHZpc2l0IDxh
|
||||||
|
IHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpOyBmb250LXdlaWdodDogYm9sZDsgdGV4
|
||||||
|
dC1kZWNvcmF0aW9uOiBub25lOyIgaHJlZj0iaHR0cHM6Ly9tZXRhLmRpc2NvdXJzZS5vcmcvdC90
|
||||||
|
ZXN0aW5nLWRlZmF1bHQtZW1haWwtcmVwbGllcy8yMjYzOC8zIiB0YXJnZXQ9Il9wYXJlbnQiPmh0
|
||||||
|
dHBzOi8vbWV0YS5kaXNjb3Vyc2Uub3JnL3QvdGVzdGluZy1kZWZhdWx0LWVtYWlsLXJlcGxpZXMv
|
||||||
|
MjI2MzgvMzwvYT4gaW4geW91ciBicm93c2VyLjwvcD4KICA8L2Rpdj4KICA8aHIgc3R5bGU9ImJv
|
||||||
|
cmRlcjogMXB4IGJsYWNrOyBib3JkZXItaW1hZ2U6IG5vbmU7IGhlaWdodDogMXB4OyBiYWNrZ3Jv
|
||||||
|
dW5kLWNvbG9yOiByZ2IoMjIxLCAyMjEsIDIyMSk7Ij4KICA8aDQ+UHJldmlvdXMgUmVwbGllczwv
|
||||||
|
aDQ+CgogIDx0YWJsZSB0YWJpbmRleD0iLTEiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAyNXB4OyIg
|
||||||
|
Ym9yZGVyPSIwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiPgogIDx0Ym9keT4KICAg
|
||||||
|
IDx0cj4KICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNTVweDsgdmVydGljYWwtYWxpZ246IHRvcDsi
|
||||||
|
PgogICAgICAgIDxpbWcgd2lkdGg9IjQ1IiBoZWlnaHQ9IjQ1IiB0YWJpbmRleD0iLTEiIHN0eWxl
|
||||||
|
PSJtYXgtd2lkdGg6IDEwMCU7IiBzcmM9Imh0dHBzOi8vbWV0YS1kaXNjb3Vyc2UuZ2xvYmFsLnNz
|
||||||
|
bC5mYXN0bHkubmV0L3VzZXJfYXZhdGFyL21ldGEuZGlzY291cnNlLm9yZy9jb2Rpbmdob3Jyb3Iv
|
||||||
|
NDUvNTI5Ny5wbmciIGRhdGEtbXMtaW1nc3JjPSJodHRwczovL21ldGEtZGlzY291cnNlLmdsb2Jh
|
||||||
|
bC5zc2wuZmFzdGx5Lm5ldC91c2VyX2F2YXRhci9tZXRhLmRpc2NvdXJzZS5vcmcvY29kaW5naG9y
|
||||||
|
cm9yLzQ1LzUyOTcucG5nIj4KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIDxhIHN0eWxl
|
||||||
|
PSdjb2xvcjogcmdiKDU5LCA4OSwgMTUyKTsgZm9udC1mYW1pbHk6ICJsdWNpZGEgZ3JhbmRlIix0
|
||||||
|
YWhvbWEsdmVyZGFuYSxhcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2Vp
|
||||||
|
Z2h0OiBib2xkOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7JyBocmVmPSJodHRwczovL21ldGEuZGlz
|
||||||
|
Y291cnNlLm9yZy91c2Vycy9jb2Rpbmdob3Jyb3IiIHRhcmdldD0iX3BhcmVudCI+Y29kaW5naG9y
|
||||||
|
cm9yPC9hPjxicj4KICAgICAgICA8c3BhbiBzdHlsZT0ndGV4dC1hbGlnbjogcmlnaHQ7IGNvbG9y
|
||||||
|
OiByZ2IoMTUzLCAxNTMsIDE1Myk7IHBhZGRpbmctcmlnaHQ6IDVweDsgZm9udC1mYW1pbHk6ICJs
|
||||||
|
dWNpZGEgZ3JhbmRlIix0YWhvbWEsdmVyZGFuYSxhcmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6
|
||||||
|
IDExcHg7Jz5Ob3ZlbWJlciAyODwvc3Bhbj4KICAgICAgPC90ZD4KICAgIDwvdHI+CiAgICA8dHI+
|
||||||
|
CiAgICAgIDx0ZCBzdHlsZT0icGFkZGluZy10b3A6IDVweDsiIGNvbHNwYW49IjIiPgo8cCBzdHls
|
||||||
|
ZT0iYm9yZGVyOiAwcHggYmxhY2s7IGJvcmRlci1pbWFnZTogbm9uZTsgbWFyZ2luLXRvcDogMHB4
|
||||||
|
OyI+V2UncmUgdGVzdGluZyB0aGUgbGF0ZXN0IEdpdEh1YiBlbWFpbCBwcm9jZXNzaW5nIGxpYnJh
|
||||||
|
cnkgd2hpY2ggd2UgYXJlIGludGVncmF0aW5nIG5vdy48L3A+Cgo8cCBzdHlsZT0iYm9yZGVyOiAw
|
||||||
|
cHggYmxhY2s7IGJvcmRlci1pbWFnZTogbm9uZTsgbWFyZ2luLXRvcDogMHB4OyI+PGEgc3R5bGU9
|
||||||
|
ImNvbG9yOiByZ2IoMCwgMTAyLCAxNTMpOyBmb250LXdlaWdodDogYm9sZDsgdGV4dC1kZWNvcmF0
|
||||||
|
aW9uOiBub25lOyIgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2dpdGh1Yi9lbWFpbF9yZXBseV9w
|
||||||
|
YXJzZXIiIHRhcmdldD0iX3BhcmVudCI+aHR0cHM6Ly9naXRodWIuY29tL2dpdGh1Yi9lbWFpbF9y
|
||||||
|
ZXBseV9wYXJzZXI8L2E+PC9wPgoKPHAgc3R5bGU9ImJvcmRlcjogMHB4IGJsYWNrOyBib3JkZXIt
|
||||||
|
aW1hZ2U6IG5vbmU7IG1hcmdpbi10b3A6IDBweDsiPkdvIGFoZWFkIGFuZCByZXBseSB0byB0aGlz
|
||||||
|
IHRvcGljIGFuZCBJJ2xsIHJlcGx5IGZyb20gdmFyaW91cyBlbWFpbCBjbGllbnRzIGZvciB0ZXN0
|
||||||
|
aW5nLjwvcD4KPC90ZD4KICAgIDwvdHI+CiAgPC90Ym9keT4KPC90YWJsZT4KCgo8aHIgc3R5bGU9
|
||||||
|
ImJvcmRlcjogMXB4IGJsYWNrOyBib3JkZXItaW1hZ2U6IG5vbmU7IGhlaWdodDogMXB4OyBiYWNr
|
||||||
|
Z3JvdW5kLWNvbG9yOiByZ2IoMjIxLCAyMjEsIDIyMSk7Ij4KCjxkaXYgc3R5bGU9ImNvbG9yOiBy
|
||||||
|
Z2IoMTAyLCAxMDIsIDEwMik7Ij4KPHA+VG8gcmVzcG9uZCwgcmVwbHkgdG8gdGhpcyBlbWFpbCBv
|
||||||
|
ciB2aXNpdCA8YSBzdHlsZT0iY29sb3I6IHJnYigxMDIsIDEwMiwgMTAyKTsgZm9udC13ZWlnaHQ6
|
||||||
|
IGJvbGQ7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsiIGhyZWY9Imh0dHBzOi8vbWV0YS5kaXNjb3Vy
|
||||||
|
c2Uub3JnL3QvdGVzdGluZy1kZWZhdWx0LWVtYWlsLXJlcGxpZXMvMjI2MzgvMyIgdGFyZ2V0PSJf
|
||||||
|
cGFyZW50Ij5odHRwczovL21ldGEuZGlzY291cnNlLm9yZy90L3Rlc3RpbmctZGVmYXVsdC1lbWFp
|
||||||
|
bC1yZXBsaWVzLzIyNjM4LzM8L2E+IGluIHlvdXIgYnJvd3Nlci48L3A+CjwvZGl2Pgo8ZGl2IHN0
|
||||||
|
eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAxMDIpOyI+CjxwPlRvIHVuc3Vic2NyaWJlIGZyb20g
|
||||||
|
dGhlc2UgZW1haWxzLCB2aXNpdCB5b3VyIDxhIHN0eWxlPSJjb2xvcjogcmdiKDEwMiwgMTAyLCAx
|
||||||
|
MDIpOyBmb250LXdlaWdodDogYm9sZDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyIgaHJlZj0iaHR0
|
||||||
|
cHM6Ly9tZXRhLmRpc2NvdXJzZS5vcmcvbXkvcHJlZmVyZW5jZXMiIHRhcmdldD0iX3BhcmVudCI+
|
||||||
|
dXNlciBwcmVmZXJlbmNlczwvYT4uPC9wPgo8L2Rpdj4KPC9kaXY+CjwvZGl2PjxkaXYgc3R5bGU9
|
||||||
|
ImZvbnQtc2l6ZTogMTRwdDsiPjxicj48L2Rpdj48L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==
|
||||||
|
|
||||||
|
--_866E2678-BB4F-4DD8-BE18-81B04AD8D1BC_--
|
Loading…
Reference in a new issue