From 2a6036fb6e036622375297489d9ce1ed80eef17a Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Mon, 4 Jan 2021 15:31:27 +0100 Subject: [PATCH] Fixes issue #3344 - Allow mailto links in knowledge base (KB) and email signatures. --- lib/html_sanitizer.rb | 23 +---- spec/lib/core_ext/string_spec.rb | 18 ++-- test/data/mail/mail001.yml | 98 +++++++++++++++++++++- test/data/mail/mail003.yml | 139 ++++++++++++++++++++++++++++++- test/data/mail/mail011.yml | 54 +++++++++++- test/data/mail/mail030.yml | 88 +++++++++++++++++-- test/data/mail/mail043.yml | 2 +- test/data/mail/mail047.yml | 2 +- test/data/mail/mail082.yml | 2 +- test/unit/email_process_test.rb | 2 +- test/unit/html_sanitizer_test.rb | 2 +- 11 files changed, 379 insertions(+), 51 deletions(-) diff --git a/lib/html_sanitizer.rb b/lib/html_sanitizer.rb index fd3b52b3c..7a5212519 100644 --- a/lib/html_sanitizer.rb +++ b/lib/html_sanitizer.rb @@ -45,7 +45,7 @@ satinize html string based on whiltelist if node['href'] href = cleanup_target(node['href'], keep_spaces: true) href_without_spaces = href.gsub(/[[:space:]]/, '') - if external && href_without_spaces.present? && !href_without_spaces.downcase.start_with?('//') && href_without_spaces.downcase !~ %r{^.{1,6}://.+?} + if external && href_without_spaces.present? && !href_without_spaces.downcase.start_with?('mailto:') && !href_without_spaces.downcase.start_with?('//') && href_without_spaces.downcase !~ %r{^.{1,6}://.+?} node['href'] = "http://#{node['href']}" href = node['href'] href_without_spaces = href.gsub(/[[:space:]]/, '') @@ -176,16 +176,6 @@ satinize html string based on whiltelist node.delete(attribute) end - # remove mailto links - if node['href'] - href = cleanup_target(node['href']) - if href =~ /mailto:(.*)$/i - text = Nokogiri::XML::Text.new($1, node.document) - node.add_next_sibling(text) - node.remove - Loofah::Scrubber::STOP - end - end end done = true @@ -320,17 +310,6 @@ cleanup html string: scrubber_cleanup = Loofah::Scrubber.new do |node| - # remove mailto links - if node['href'] - href = cleanup_target(node['href']) - if href =~ /mailto:(.*)$/i - text = Nokogiri::XML::Text.new($1, node.document) - node.add_next_sibling(text) - node.remove - Loofah::Scrubber::STOP - end - end - # remove not needed new lines if node.instance_of?(Nokogiri::XML::Text) if !node.parent || (node.parent.name != 'pre' && node.parent.name != 'code') # rubocop:disable Style/SoleNestedConditional diff --git a/spec/lib/core_ext/string_spec.rb b/spec/lib/core_ext/string_spec.rb index 7bb9dd5b2..3d75888aa 100644 --- a/spec/lib/core_ext/string_spec.rb +++ b/spec/lib/core_ext/string_spec.rb @@ -1199,7 +1199,7 @@ RSpec.describe String do expect(<<~HTML.chomp.html2html_strict).to eq(<<~TEXT.chomp) john.smith@example.com HTML - john.smith@example.com + john.smith@example.com TEXT end @@ -1207,7 +1207,7 @@ RSpec.describe String do expect(<<~HTML.chomp.html2html_strict).to eq(<<~TEXT.chomp) john.smith@example.com HTML - john.smith@example.com + john.smith@example.com TEXT end @@ -1215,7 +1215,7 @@ RSpec.describe String do expect(<<~HTML.chomp.html2html_strict).to eq(<<~TEXT.chomp) john.smith@example.com HTML - john.smith2@example.com + john.smith@example.com TEXT end @@ -1289,7 +1289,9 @@ RSpec.describe String do
Mit freundlichem Gruß 

John Smith
Service und Support

Example Service AG & Co.
Management OHG
Someware-Str. 4
xxxxx Someware

Tel.: +49 001 7601 462
Fax: +49 001 7601 472
john.smith@example.com
www.example.com
HTML
Mit freundlichem Gruß

John Smith
Service und Support

Example Service AG & Co.
Management OHG
Someware-Str. 4
xxxxx Someware

-
Tel.: +49 001 7601 462
Fax: +49 001 7601 472
john.smith@example.com
+
Tel.: +49 001 7601 462
Fax: +49 001 7601 472
+ john.smith@example.com +
www.example.com
TEXT @@ -1321,7 +1323,7 @@ RSpec.describe String do HTML

Guten Morgen, Frau ABC,

 

vielen Dank für die Reservierung. Dabei allerdings die Sprache (Niederländisch) nicht erwähnt. Können Sie bitte dieses in Ihrer Reservierung vormerken?

 

Nochmals vielen Dank und herzliche Grüße

-

 

Anna Smith

art abc SEV GmbH

art abc TRAV

Marktstätte 123

123456 Dorten

T: +49 (0) 12345/1234560-1

T: +49 (0) 12345/1234560-0

F: +49 (0) 12345/1234560-2

annad@example.com

www.example.com www.ABC.com

Geschäftsführer Vor Nach, VorUndZu Nach - Amtsgericht Dort HRB 12345 - Ein Unternehmer der ABC Gruppe

+

 

Anna Smith

art abc SEV GmbH

art abc TRAV

Marktstätte 123

123456 Dorten

T: +49 (0) 12345/1234560-1

T: +49 (0) 12345/1234560-0

F: +49 (0) 12345/1234560-2

annad@example.com

www.example.com www.ABC.com

Geschäftsführer Vor Nach, VorUndZu Nach - Amtsgericht Dort HRB 12345 - Ein Unternehmer der ABC Gruppe

TEXT end @@ -1344,7 +1346,7 @@ RSpec.describe String do HTML

 

-

Von: Besucherbüro, MKuk [besucherbuero@example.com]
+

Von: Besucherbüro, MKuk [mailto:besucherbuero@example.com]
Gesendet: Freitag, 16. Dezember 2016 08:05
An: 'Amaia Epalza'
Betreff: AW: Gruppe vtb Kultuur // 28.06.2017

 

Reservierungsbestätigung Führung Skulptur-Projekte 2017 am

Guten Morgen Frau Epalza,

@@ -1473,7 +1475,7 @@ RSpec.describe String do expect(<<~HTML.chomp.html2html_strict).to eq(<<~TEXT.chomp)

Von: Martin Edenhofer via Zammad Helpdesk [mailto:support@zammad.com]
Gesendet:\u0020 HTML - #{marker}

Von: Martin Edenhofer via Zammad Helpdesk [mailto:support@example.com]
Gesendet:

+ #{marker}

Von: Martin Edenhofer via Zammad Helpdesk [mailto:support@zammad.com]
Gesendet:

TEXT end @@ -1510,7 +1512,7 @@ RSpec.describe String do
On 04 Mar 2017, at 14:47, Oliver Ruhm <oliver@example.com> wrote:

HTML
#{marker}
-
On 04 Mar 2017, at 14:47, Oliver Ruhm <oliver@example.com> wrote:

+
On 04 Mar 2017, at 14:47, Oliver Ruhm <oliver@example.com> wrote:

TEXT end diff --git a/test/data/mail/mail001.yml b/test/data/mail/mail001.yml index 55be5c1f6..c6fdfbc7d 100644 --- a/test/data/mail/mail001.yml +++ b/test/data/mail/mail001.yml @@ -2,12 +2,106 @@ from: John.Smith@example.com from_email: John.Smith@example.com from_display_name: '' +to: martin@example.com subject: 'CI Daten für PublicView ' -content_type: text/html body: |-
Hallo Martin,

 

wie besprochen hier noch die Daten für die Intranetseite:

 

Schriftart/-größe: Verdana 11 Pt wenn von Browser nicht unterstützt oder nicht vorhanden wird Arial 11 Pt genommen
Schriftfarbe: Schwarz
Farbe für die Balken in der Grafik: D7DDE9 (Blau)

 

Wenn noch was fehlt oder du was brauchst sag mir Bescheid.

 

Mit freundlichem Gruß

John Smith
Service und Support

Example Service AG & Co.
Management OHG
Someware-Str. 4
xxxxx Someware

-
Tel.: +49 001 7601 462
Fax: +49 001 7601 472
john.smith@example.com
+
Tel.: +49 001 7601 462
Fax: +49 001 7601 472

OHG mit Sitz in Someware
AG: Someware - HRA 4158
Geschäftsführung: Tilman Test, Klaus Jürgen Test,
Bernhard Test, Ulrich Test
USt-IdNr. DE 1010101010

Persönlich haftende geschäftsführende Gesellschafterin:
Marie Test Example Stiftung, Someware
Vorstand: Rolf Test

Persönlich haftende Gesellschafterin:
Example Service AG, Someware
AG: Someware - HRB xxx
Vorstand: Marie Test

 

+content_type: text/html +attachments: +- !ruby/hash:ActiveSupport::HashWithIndifferentAccess + data: '
Hallo Martin,
 
wie besprochen hier noch die Daten für die Intranetseite:
 
Schriftart/-größe: Verdana 11 Pt wenn von Browser nicht unterstützt + oder nicht vorhanden wird Arial 11 Pt genommen
Schriftfarbe: Schwarz
Farbe für die Balken in der Grafik: D7DDE9 (Blau)
 
Wenn noch was fehlt oder du was brauchst sag mir Bescheid.
 
Mit freundlichem Gruß 

John + Smith
Service und Support

Example Service AG & Co.
Management OHG
Someware-Str. 4
xxxxx Someware

Tel.: +49 001 7601 462
Fax: +49 001 7601 + 472

OHG mit Sitz in Someware
AG: Someware - HRA 4158
Geschäftsführung: + Tilman Test, Klaus Jürgen Test,
Bernhard Test, Ulrich Test
USt-IdNr. DE 1010101010

Persönlich haftende + geschäftsführende Gesellschafterin:
Marie Test Example Stiftung, Someware
Vorstand: Rolf Test

Persönlich + haftende Gesellschafterin:
Example Service AG, Someware
AG: Someware - HRB xxx
Vorstand: Marie Test
 
' + filename: message.html + preferences: !ruby/hash:ActiveSupport::HashWithIndifferentAccess + content-alternative: true + original-format: true + Mime-Type: text/html + Charset: iso-8859-1 diff --git a/test/data/mail/mail003.yml b/test/data/mail/mail003.yml index 3bb89fdb6..976610efe 100644 --- a/test/data/mail/mail003.yml +++ b/test/data/mail/mail003.yml @@ -24,5 +24,142 @@ body: |-

Haben sich beim ein oder anderen generell noch Fragen aufgetan?

 

 

Viele Grüße!

 

-

-Fritz

On May 2, 2012, at 14:25 , John Smith wrote:

Moin Moin,

die Antwort ist zwar etwas spät, aber nach der Schulung war ich krank und danach
hatte ich viel zu tun auf der Arbeit, sodass ich keine Zeit für XXXX hatte.
Ich denke das ist allgemein das Problem, wenn sowas nebenbei gemacht werden muss.

Wie auch immer, danke für die mail mit dem ITSM Zusatz auch wenn das zur Zeit bei der Example nicht relevant ist.

Ich habe im XXXX Wiki den Punkt um die Vorlagen angefügt.
Ticket Template von John Bäcker
Bei uns habe ich das Ticket Template von John Bäcker in der Version 0.1.96 unter XXXX 3.0.10 implementiert.

Fritz wollte sich auch um das andere Ticket Template Modul kümmern und uns zur Verfügung stellen, welches unter XXXX 3.0 nicht lauffähig sein sollte.

Im Wiki kann ich die LDAP Muster Konfigdatei nicht finden.
Hat die jemand von euch zufälligerweise ?

Danke und Gruß
John Smith

Am 4. April 2012 08:24 schrieb Smith, John Marian <john.smith@example.com>:
Hallo zusammen,

ich hoffe Ihr seid noch gut nach Hause gekommen am Mittwoch. Der XXX Kurs Donnerstag und Freitag war noch ganz gut, wobei ich mir den letzten halben Tag eigentlich hätte schenken können.

Soweit ich weiß arbeitet Ihr nicht mit XXX? Falls doch habe ich hier eine tolle (eigentlich) kostenpflichtige Erweiterung für Euch.

Es handelt sich um eine programmiertes Paket von der XXXX AG. Die Weitergabe ist legal.

Mit dem Paket kann man Anhänge an CI’s (Configuration Items) verknüpfen. Das ist sehr praktisch wenn man zum Beispiel Rechnungen an Server, Computern und und und anhängen möchte.

Der Dank geht an Frank Linden, der uns das Paket kostenlos zur Verfügung gestellt hat.

Viele Grüße aus Someware

John

_________________________
SysAdmin
John Marian Smith
IT-Management

Example GmbH & Co. KG
Der Provider für
Mehrwertdienste & YYY

Someware 23
XXXXX Someware

Tel. (01802) XX XX XX - 42
Fax (01802) XX XX XX - 99
nur 6 Cent je Anruf aus dem dt. Festnetz,
max. 42 Cent pro Min. aus dem Mobilfunknetz

E-Mail john.smith@Example.de
Web www.Example.de
Amtsgericht Hannover HRA xxxxxxxx
Komplementärin: Example Verwaltungs- GmbH
Vertreten durch: Somebody, Somebody
Amtsgericht Someware HRB XXX XXX

_________________________
Highlights der Example Contact Center-Suite:
Virtual XXX&Power-XXX, Self-Services&XXX-Portale,
XXX-/Web-Kundenbefragungen, CRM, PEP, YYY

+

-Fritz

On May 2, 2012, at 14:25 , John Smith wrote:

Moin Moin,

die Antwort ist zwar etwas spät, aber nach der Schulung war ich krank und danach
hatte ich viel zu tun auf der Arbeit, sodass ich keine Zeit für XXXX hatte.
Ich denke das ist allgemein das Problem, wenn sowas nebenbei gemacht werden muss.

Wie auch immer, danke für die mail mit dem ITSM Zusatz auch wenn das zur Zeit bei der Example nicht relevant ist.

Ich habe im XXXX Wiki den Punkt um die Vorlagen angefügt.
Ticket Template von John Bäcker
Bei uns habe ich das Ticket Template von John Bäcker in der Version 0.1.96 unter XXXX 3.0.10 implementiert.

Fritz wollte sich auch um das andere Ticket Template Modul kümmern und uns zur Verfügung stellen, welches unter XXXX 3.0 nicht lauffähig sein sollte.

Im Wiki kann ich die LDAP Muster Konfigdatei nicht finden.
Hat die jemand von euch zufälligerweise ?

Danke und Gruß
John Smith

Am 4. April 2012 08:24 schrieb Smith, John Marian <john.hinz@example.com>:
Hallo zusammen,

ich hoffe Ihr seid noch gut nach Hause gekommen am Mittwoch. Der XXX Kurs Donnerstag und Freitag war noch ganz gut, wobei ich mir den letzten halben Tag eigentlich hätte schenken können.

Soweit ich weiß arbeitet Ihr nicht mit XXX? Falls doch habe ich hier eine tolle (eigentlich) kostenpflichtige Erweiterung für Euch.

Es handelt sich um eine programmiertes Paket von der XXXX AG. Die Weitergabe ist legal.

Mit dem Paket kann man Anhänge an CI’s (Configuration Items) verknüpfen. Das ist sehr praktisch wenn man zum Beispiel Rechnungen an Server, Computern und und und anhängen möchte.

Der Dank geht an Frank Linden, der uns das Paket kostenlos zur Verfügung gestellt hat.

Viele Grüße aus Someware

John

_________________________
SysAdmin
John Marian Smith
IT-Management

Example GmbH & Co. KG
Der Provider für
Mehrwertdienste & YYY

Someware 23
XXXXX Someware

Tel. (01802) XX XX XX - 42
Fax (01802) XX XX XX - 99
nur 6 Cent je Anruf aus dem dt. Festnetz,
max. 42 Cent pro Min. aus dem Mobilfunknetz

E-Mail john.smith@Example.de
Web www.Example.de
Amtsgericht Hannover HRA xxxxxxxx
Komplementärin: Example Verwaltungs- GmbH
Vertreten durch: Somebody, Somebody
Amtsgericht Someware HRB XXX XXX

_________________________
Highlights der Example Contact Center-Suite:
Virtual XXX&Power-XXX, Self-Services&XXX-Portale,
XXX-/Web-Kundenbefragungen, CRM, PEP, YYY

content_type: text/html +attachments: +- !ruby/hash:ActiveSupport::HashWithIndifferentAccess + data: "\n

Hallo + Martin,

 

ich + möchte mich gern für den Beta-Test für die Ticket Templates unter XXXX 2.4 anmelden.

 

 

Mit + freundlichen Grüßen

John + Günther

 

example.com + – profitieren Sie vom umfangreichen Daten-Netzwerk

 

_ + __ ___ ____________________________ ___ __ _

 

Example + GmbH

Some + What

 

Sitz: + Someware-Straße 9, XXXXX Someware

 

M: + +49 (0)  XXX XX XX 70

T: + +49 (0) XXX XX XX 22

F: + +49 (0) XXX XX XX 11

W: + www.example.de

 

Geschäftsführer: + John Smith

HRB + XXXXXX AG Someware

St.-Nr.: + 112/107/05858

 

ISO + 9001:2008 Zertifiziert -Qualitätsstandard mit Zukunft

_ + __ ___ ____________________________ ___ __ _

 

Diese + Information ist ausschließlich für den Adressaten bestimmt und kann vertrauliche + oder gesetzlich geschützte Informationen enthalten. Wenn Sie nicht der bestimmungsgemäße + Adressat sind, unterrichten Sie bitte den Absender und vernichten Sie diese Mail. + Anderen als dem bestimmungsgemäßen Adressaten ist es untersagt, diese E-Mail zu + lesen, zu speichern, weiterzuleiten oder ihren Inhalt auf welche Weise auch immer + zu verwenden.

 

Von: Fritz Bauer [mailto:me@example.com] +
Gesendet: Donnerstag, 3. Mai 2012 11:51
An: John Smith
Cc: + Smith, John Marian; johnel.fratczak@example.com; ole.brei@example.com; Günther + John | Example GmbH; bkopon@example.com; john.heisterhagen@team.example.com; sven.rocked@example.com; + michael.house@example.com; tgutzeit@example.com
Betreff: Re: OTRS::XXX + Erweiterung - Anhänge an CI's

 

Hallo,

 

ich versuche an den Punkten anzuknüpfen. 

 

a) LDAP + Muster Konfigdatei

 

https://wiki.lab.example.com/doku.php?id=xxxx:start&#ldap

 

PS: Es gibt + noch eine Reihe weiterer Möglichkeiten, vor allem im Bezug auf Agenten-Rechte/LDAP + Gruppen Synchronisation. Wenn Ihr hier weitere Informationen benötigt, einfach + im Wiki die Aufgabenbeschreibung rein machen und ich kann eine Beispiel-Config + dazu legen.

 

 

b) Ticket + Templates

Wir haben das Paket + vom alten Maintainer übernommen, es läuft nun auf XXXX 2.4, XXXX 3.0 und XXXX + 3.1. Wir haben das Paket um weitere Funktionen ergänzt und würden es gerne hier + in diesen Kreis zum Beta-Test bereit stellen. 

 

Vorgehen:

Wer Interesse hat, bitte eine Email an mich und ich versende Zugänge + zu den Beta-Test-Systemen. Nach ca. 2 Wochen werden wir die Erweiterungen in der + Version 1.0 veröffentlichen.

 

 

c) XXXX + Entwickler Schulung

Weil es immer + wieder Thema war, falls jemand Interesse hat, das XXXX bietet nun auch OTRS + Entwickler Schulungen an (http://www.example.com/kurs/xxxx_entwickler/).

 

 

d) Genelle Fragen?

Haben + sich beim ein oder anderen generell noch Fragen aufgetan?

 

 

Viele Grüße!

 

-Fritz

On + May 2, 2012, at 14:25 , John Smith wrote:


Moin + Moin,

die Antwort ist zwar etwas spät, aber nach der Schulung war ich krank + und danach
hatte ich viel zu tun auf der Arbeit, sodass ich keine Zeit für + XXXX hatte.
Ich denke das ist allgemein das Problem, wenn sowas nebenbei gemacht + werden muss.

Wie auch immer, danke für die mail mit dem ITSM Zusatz auch + wenn das zur Zeit bei der Example nicht relevant ist.

Ich habe im XXXX + Wiki den Punkt um die Vorlagen angefügt.
Ticket Template von John Bäcker
Bei + uns habe ich das Ticket Template von John Bäcker in der Version 0.1.96 unter XXXX + 3.0.10 implementiert. 

Fritz wollte sich auch um das andere Ticket + Template Modul kümmern und uns zur Verfügung stellen, welches unter XXXX 3.0 nicht + lauffähig sein sollte.


Im Wiki kann ich die LDAP Muster Konfigdatei + nicht finden.
Hat die jemand von euch zufälligerweise ?


Danke und + Gruß
John Smith


Am 4. April 2012 08:24 schrieb Smith, John Marian <john.hinz@example.com>:
Hallo + zusammen,

 

ich hoffe Ihr seid noch gut nach Hause gekommen + am Mittwoch. Der XXX Kurs Donnerstag und Freitag war noch ganz gut, wobei ich + mir den letzten halben Tag eigentlich hätte schenken können.

Soweit + ich weiß arbeitet Ihr nicht mit XXX? Falls doch habe ich hier eine tolle (eigentlich) + kostenpflichtige Erweiterung für Euch.

Es handelt sich um eine programmiertes + Paket von der XXXX AG. Die Weitergabe ist legal.

Mit dem Paket kann man + Anhänge an CI’s (Configuration Items) verknüpfen. Das ist sehr praktisch + wenn man zum Beispiel Rechnungen an Server, Computern und und und anhängen möchte.

 

Der + Dank geht an Frank Linden, der uns das Paket kostenlos zur Verfügung gestellt + hat.

 

Viele Grüße aus Someware

 

John

_________________________
SysAdmin
John + Marian Smith
IT-Management

Example GmbH & Co. KG
Der Provider + für
Mehrwertdienste & YYY

Someware 23
XXXXX Someware

Tel. + (01802) XX XX XX - 42
Fax (01802) XX XX XX - 99
nur 6 Cent je Anruf aus + dem dt. Festnetz,
max. 42 Cent pro Min. aus dem Mobilfunknetz

E-Mail + john.smith@Example.de
Web www.Example.de
Amtsgericht Hannover HRA + xxxxxxxx
Komplementärin: Example Verwaltungs- GmbH
Vertreten durch: Somebody, + Somebody
Amtsgericht Someware HRB XXX XXX

_________________________ 
Highlights + der Example Contact Center-Suite:
Virtual XXX&Power-XXX, Self-Services&XXX-Portale,
XXX-/Web-Kundenbefragungen, + CRM, PEP, YYY

" + filename: message.html + preferences: !ruby/hash:ActiveSupport::HashWithIndifferentAccess + content-alternative: true + original-format: true + Mime-Type: text/html + Charset: iso-8859-1 diff --git a/test/data/mail/mail011.yml b/test/data/mail/mail011.yml index 326442ad3..e81fb6492 100644 --- a/test/data/mail/mail011.yml +++ b/test/data/mail/mail011.yml @@ -1,11 +1,9 @@ --- !ruby/hash:ActiveSupport::HashWithIndifferentAccess -reply-to: serviceteam@cylex.de from: CYLEX Newsletter from_email: carina.merkant@cylex.de from_display_name: CYLEX Newsletter -subject: Eine schöne Adventszeit für ZNUNY GMBH - ENTERPRISE SERVICES FÜR OTRS to: enjoy_us@znuny.com -content_type: text/html +subject: Eine schöne Adventszeit für ZNUNY GMBH - ENTERPRISE SERVICES FÜR OTRS body: |- @@ -31,10 +29,58 @@ body: |-
Impressum
S.C. CYLEX INTERNATIONAL S.N.C.
Sat. Palota 119/A RO 417516 Palota Romania
Tel.: +49 208/62957-0 |
Geschäftsführer: Francisc Osvald
Handelsregister: J05/1591/2009
USt.IdNr.: RO26332771
-
serviceteam@cylex.de
+
+ E-Mail Kontakt
Homepage
Newsletter abbestellen
+content_type: text/html +reply-to: serviceteam@cylex.de +attachments: +- !ruby/hash:ActiveSupport::HashWithIndifferentAccess + data: "
\n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t
\n\t\t\t\t\t

\n\t\t\t\t\t\t\"CYLEX

\n\t\t\t\t\t

\n\t\t\t\t\t\tLieber CYLEX Eintragsinhaber,

\n\t\t\t\t\t

\n\t\t\t\t\t\tdas + Jahr neigt sich dem Ende und die besinnliche Zeit beginnt laut Kalender mit dem
\n\t\t\t\t\t\t1. Advent. Und wie immer wird es in der vorweihnachtlichen Zeit + meist beruflich und privat
\n\t\t\t\t\t\tso richtig schön hektisch.

\n\t\t\t\t\t

\n\t\t\t\t\t\tUm + Ihre Weihnachtsstimmung in Schwung zu bringen kommen wir nun mit unserem Adventskalender + ins Spiel. Denn 24 Tage werden Sie unsere netten Geschichten, Rezepte und Gewinnspiele + sowie ausgesuchte Geschenktipps und Einkaufsgutscheine online begleiten. Damit + lässt sich Ihre Freude auf das Fest garantiert mit jedem Tag steigern.

\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\tEinen gemütlichen Start in + die Adventszeit wünscht Ihnen\n\t\t\t\t\t\t\t\t\t\"Jetzt
\n\t\t\t\t\t

\n\t\t\t\t\t\tIhr + CYLEX Team
\n\t\t\t\t\t\t
\n\t\t\t\t\t\tP.S. Damit + Sie keinen Tag versäumen, empfehlen wir Ihnen den Link + des Adventkalenders in
\n\t\t\t\t\t\t       + Ihrer Lesezeichen-Symbolleiste zu ergänzen.

\n\t\t\t\t\t

\n\t\t\t\t\t\t 

\n\t\t\t\t
\n
\n
\n\n\n\n\n\n
\nImpressum +
\nS.C. CYLEX INTERNATIONAL S.N.C.
\nSat. Palota 119/A RO 417516 Palota + Romania
\nTel.: +49 208/62957-0 |
\nGeschäftsführer: Francisc Osvald
\nHandelsregister: J05/1591/2009
\nUSt.IdNr.: RO26332771\n
\n
\nE-Mail Kontakt
\nHomepage
\nNewsletter + abbestellen\n
\n
" + filename: message.html + preferences: !ruby/hash:ActiveSupport::HashWithIndifferentAccess + content-alternative: true + original-format: true + Mime-Type: text/html + Charset: utf-8 diff --git a/test/data/mail/mail030.yml b/test/data/mail/mail030.yml index d911b4b00..5d02a82f0 100644 --- a/test/data/mail/mail030.yml +++ b/test/data/mail/mail030.yml @@ -2,8 +2,9 @@ from: Manfred Haert from_email: Manfred.Haert@example.com from_display_name: Manfred Haert -subject: Antragswesen in TesT abbilden to: info@znuny.inc +cc: '"Bert Jörg" , "Test, Karl-Heinz" ' +subject: Antragswesen in TesT abbilden body: 'Sehr geehrte Damen und Herren,

wir hatten bereits letztes Jahr einen TesT-Workshop mit Ihrem Herrn XXX durchgeführt und würden nun gerne erneut Ihre Dienste in Anspruch nehmen.

Mittlerweile setzen wir TesT produktiv ein @@ -13,16 +14,85 @@ body: 'Sehr geehrte Damen und Herren,

wir hatten bereits letztes Jahr e stehe ich gerne zur Verfügung. Vielen Dank!

--
Freundliche Grüße
i.A. Manfred Härt

Test Somewhere GmbH
Ferdinand-Straße 99
99073 Korlben
Bitte beachten Sie die neuen Rufnummern!
Telefon: 011261 - 00000-2460
Fax: 011261 0000-7460
manfred.haertel@example.com
http://www.example.com
+ 00000-2460
Fax: 011261 0000-7460
mailto:manfred.haertel@example.com
+ http://www.example.com
JETZT AUCH BEI FACEBOOK !
https://www.facebook.com/test
___________________________________
Test Somewhere GmbH

Diese e-Mail ist ausschließlich für den beabsichtigten Empfänger bestimmt. Sollten Sie irrtümlich diese e-Mail erhalten haben, unterrichten Sie uns bitte umgehend unter - kontakt@example.com und vernichten Sie diese Mitteilung einschließlich der ggf. - beigefügten Dateien.
Weil wir die Echtheit oder Vollständigkeit der in dieser - Nachricht enthaltenen Informationen nicht garantieren können, bitten wir um Verständnis, - dass wir zu Ihrem und unserem Schutz die rechtliche Verbindlichkeit der vorstehenden - Erklärungen ausschließen, soweit wir mit Ihnen keine anders lautenden Vereinbarungen - getroffen haben.

' + kontakt@example.com und vernichten Sie + diese Mitteilung einschließlich der ggf. beigefügten Dateien.
Weil wir die Echtheit + oder Vollständigkeit der in dieser Nachricht enthaltenen Informationen nicht garantieren + können, bitten wir um Verständnis, dass wir zu Ihrem und unserem Schutz die rechtliche + Verbindlichkeit der vorstehenden Erklärungen ausschließen, soweit wir mit Ihnen + keine anders lautenden Vereinbarungen getroffen haben.

' +content_type: text/html +attachments: +- !ruby/hash:ActiveSupport::HashWithIndifferentAccess + data: |+ + + + + + + + Sehr geehrte Damen und + Herren,
+
+ wir hatten bereits letztes Jahr einen TesT-Workshop mit Ihrem + Herrn XXX durchgeführt und würden nun gerne erneut + Ihre Dienste in Anspruch nehmen.
+
+ Mittlerweile setzen wir TesT produktiv ein und würden nun gerne an + einem Anwendungsfall (Change-Management) die Machbarkeit des + Abbildens eines derzeit "per Papier" durchgeführten Antragswesens + in TesT prüfen wollen.
+
+ Wir bitten gerne um ein entsprechendes Angebot.
+
+ Für Rückfragen stehe ich gerne zur Verfügung. Vielen Dank!
+
+
+
--
+ + + Freundliche Grüße
+ i.A. Manfred Härt
+
+ Test Somewhere GmbH
+ Ferdinand-Straße 99
+ 99073 Korlben
+ Bitte beachten Sie die neuen Rufnummern!
+ Telefon: 011261 00000-2460
+ Fax: 011261 0000-7460
+ mailto:manfred.haertel@example.com
+ http://www.example.com
+ JETZT AUCH BEI FACEBOOK !
+ https://www.facebook.com/test
+ ___________________________________
+ Test Somewhere GmbH
+
+

Diese + e-Mail ist ausschließlich für den beabsichtigten Empfänger + bestimmt. Sollten Sie irrtümlich diese e-Mail erhalten + haben, unterrichten Sie uns bitte umgehend unter + kontakt@example.com und vernichten Sie diese Mitteilung + einschließlich der ggf. beigefügten Dateien.
+ Weil wir die Echtheit oder Vollständigkeit der in dieser + Nachricht enthaltenen Informationen nicht garantieren + können, bitten wir um Verständnis, dass wir zu Ihrem und + unserem Schutz die rechtliche Verbindlichkeit der + vorstehenden Erklärungen ausschließen, soweit wir mit + Ihnen keine anders lautenden Vereinbarungen getroffen + haben.

+
+ + + + filename: message.html + preferences: !ruby/hash:ActiveSupport::HashWithIndifferentAccess + content-alternative: true + original-format: true + Mime-Type: text/html + Charset: UTF-8 diff --git a/test/data/mail/mail043.yml b/test/data/mail/mail043.yml index b63161d63..bc7c46ce6 100644 --- a/test/data/mail/mail043.yml +++ b/test/data/mail/mail043.yml @@ -38,7 +38,7 @@ body: |-
  • Gezielte Werbung - Briefpostwerbung.
  • - Marktforschung - Telefonumfragen zur Erforschung Ihrer Produkte oder Dienstleistungen.
  •  

    Sie können Abschnitte wählen (filtern) Empfänger gemäß Tätigkeitsbereichen und Standort der Firmen, um die Effizienz Ihrer Werbemaßnahmen zu erhöhen.

     

    Für jeden Kauf von 2016-11-05 23:59:59

    wir gewähren 30% Rabatt

    RABATTCODE: WZ2124DD

    Bestellen Sie online bei:

    company-catalogs.com

    Für weitere Informationen:

    E-Mail: databases.en@example.com
    Telefon: +370-52-071554 (languages: EN, PL, RU, LT)


    + Marktforschung - Telefonumfragen zur Erforschung Ihrer Produkte oder Dienstleistungen.

     

    Sie können Abschnitte wählen (filtern) Empfänger gemäß Tätigkeitsbereichen und Standort der Firmen, um die Effizienz Ihrer Werbemaßnahmen zu erhöhen.

     

    Für jeden Kauf von 2016-11-05 23:59:59

    wir gewähren 30% Rabatt

    RABATTCODE: WZ2124DD

    Bestellen Sie online bei:

    company-catalogs.com

    Für weitere Informationen:

    E-Mail: databases.en@example.com
    Telefon: +370-52-071554 (languages: EN, PL, RU, LT)



    Unsubscribe from newsletter: Click here diff --git a/test/data/mail/mail047.yml b/test/data/mail/mail047.yml index 13138478a..3067b976b 100644 --- a/test/data/mail/mail047.yml +++ b/test/data/mail/mail047.yml @@ -2033,7 +2033,7 @@ body: |-
    EXAMPLE.GmbH
    EXAMPLE-Straße 1-3
    79426 Buggingen Germany
    -
    24 Stunden Bestellannahme:
    0180 / 555 82
    (14 Cent / Min. aus dem dt. Festnetz, Mobilfunk maximal 42 Cent/Min.)
    Fax: +49 7631 / 360-444
    E-Mail: service@example.de?subject=Kunden-Nr:%205433623-1%20/%20E-Mail:%20info@example.de
    Internet: www.example.de

    HRB 300375 (Amtsgericht Freiburg im Breisgau)
    Geschäftsführer: Daniel C. Ludwig
    USt-ID: DE 142476770 · WEEE-Reg.-Nr. DE 60771113

    * Preise inkl. Mehrwertsteuer, zzgl. Versandkosten (abhängig von Ihrer Zahlart)
    1 ehem. empf. VK des Lieferanten
    2 ehemaliger EXAMPLE-Preis
    3 Preis in Originalverpackung
    4 Summe der Einzelpreise
    6 Ehem. unverb. Preisempfehl. d. Herstellers. Keine Gewähr für Aktualität.

    +
    24 Stunden Bestellannahme:
    0180 / 555 82
    (14 Cent / Min. aus dem dt. Festnetz, Mobilfunk maximal 42 Cent/Min.)
    Fax: +49 7631 / 360-444
    E-Mail: service@example.de
    Internet: www.example.de

    HRB 300375 (Amtsgericht Freiburg im Breisgau)
    Geschäftsführer: Daniel C. Ludwig
    USt-ID: DE 142476770 · WEEE-Reg.-Nr. DE 60771113

    * Preise inkl. Mehrwertsteuer, zzgl. Versandkosten (abhängig von Ihrer Zahlart)
    1 ehem. empf. VK des Lieferanten
    2 ehemaliger EXAMPLE-Preis
    3 Preis in Originalverpackung
    4 Summe der Einzelpreise
    6 Ehem. unverb. Preisempfehl. d. Herstellers. Keine Gewähr für Aktualität.

    diff --git a/test/data/mail/mail082.yml b/test/data/mail/mail082.yml index 4cdc633a0..67b449181 100644 --- a/test/data/mail/mail082.yml +++ b/test/data/mail/mail082.yml @@ -10,7 +10,7 @@ body: |-

    Chantel Wilken

    John Smith

    Tel: 053-8311646

    : 053-8311710

    Fax to e-mail: 0865586973

    Fax to e-mail: 0865665137

     

    From: Profsen Lab [mailto:from@example.com]
    Sent: Wednesday, 06 March 2019 08:52
    To: to@example.com
    Subject: FW: Tax Invoice INX4183

     

     

     

    Chantel Wilken

    John Smith

    Tel: 053-8311646

    : 053-8311710

    Fax to e-mail: 0865586973

    Fax to e-mail: 0865665137

     

    -

    From: Profsen Lab %5Bmailto:from@example.com%5D
    Sent: Monday, 04 March 2019 12:41
    To: from@example.com
    Subject: Tax Invoice INX4183

     

    Tax Invoice INX4183 from Shammah Dental BK t/a John Smith

     

    +

    From: Profsen Lab [mailto:from@example.com]
    Sent: Monday, 04 March 2019 12:41
    To: from@example.com
    Subject: Tax Invoice INX4183

     

    Tax Invoice INX4183 from Shammah Dental BK t/a John Smith

     

    content_type: text/html attachments: - !ruby/hash:ActiveSupport::HashWithIndifferentAccess diff --git a/test/unit/email_process_test.rb b/test/unit/email_process_test.rb index 8bffcd68a..10dc8837f 100644 --- a/test/unit/email_process_test.rb +++ b/test/unit/email_process_test.rb @@ -3067,7 +3067,7 @@ Content-Type: text/html; charset=us-ascii; format=flowed }, 1 => { content_type: 'text/html', - body: 'test%C3%A4%C3%B6%C3%BC@example.com', + body: 'test', sender: 'Customer', type: 'email', internal: false, diff --git a/test/unit/html_sanitizer_test.rb b/test/unit/html_sanitizer_test.rb index 320e6a306..829171c76 100644 --- a/test/unit/html_sanitizer_test.rb +++ b/test/unit/html_sanitizer_test.rb @@ -149,6 +149,6 @@ test 123 attachment_url_evil_other = "#{attachment_url}?disposition=some_other" assert_equal(HtmlSanitizer.strict("Evil link"), "Evil link") - assert_equal(HtmlSanitizer.strict('test'), 'testäöü@example.com') + assert_equal(HtmlSanitizer.strict('test'), 'test') end end