diff --git a/lib/html_sanitizer.rb b/lib/html_sanitizer.rb
index a40fe1533..6316a5d96 100644
--- a/lib/html_sanitizer.rb
+++ b/lib/html_sanitizer.rb
@@ -54,7 +54,7 @@ satinize html string based on whiltelist
href_without_spaces = href.gsub(/[[:space:]]/, '')
end
- next if !href_without_spaces.downcase.start_with?('http', 'ftp', '//')
+ next if !CGI.unescape(href_without_spaces).utf8_encode(fallback: :read_as_sanitized_binary).gsub(/[[:space:]]/, '').downcase.start_with?('http', 'ftp', '//')
node.set_attribute('href', href)
node.set_attribute('rel', 'nofollow noreferrer noopener')
@@ -395,7 +395,7 @@ cleanup html string:
end
def self.cleanup_target(string, **options)
- cleaned_string = CGI.unescape(string).utf8_encode(fallback: :read_as_sanitized_binary)
+ cleaned_string = string.utf8_encode(fallback: :read_as_sanitized_binary)
cleaned_string = cleaned_string.gsub(/[[:space:]]/, '') if !options[:keep_spaces]
cleaned_string = cleaned_string.strip
.delete("\t\n\r\u0000")
diff --git a/spec/lib/core_ext/string_spec.rb b/spec/lib/core_ext/string_spec.rb
index 031a31e6b..a86943b53 100644
--- a/spec/lib/core_ext/string_spec.rb
+++ b/spec/lib/core_ext/string_spec.rb
@@ -1141,7 +1141,7 @@ RSpec.describe String do
expect(<<~HTML.chomp.html2html_strict).to eq(<<~TEXT.chomp)
http://what-different.example.com
HTML
- http://what-different.example.com
+ http://what-different.example.com
TEXT
end
@@ -1153,31 +1153,6 @@ RSpec.describe String do
TEXT
end
- it 'does not add title attr (for trailing slash)' do
- expect(<<~HTML.chomp.html2html_strict).to eq(<<~TEXT.chomp)
- http://example.com
- HTML
- http://example.com
- TEXT
- end
-
- it 'does not add title attr (for trailing slash and newline)' do
- expect(<<~HTML.chomp.html2html_strict).to eq(<<~TEXT.chomp)
- http://example.com
- HTML
- http://example.com
- TEXT
- end
-
- it 'does not add title attr (for trailing slash, newline, and space)' do
- expect(<<~HTML.chomp.html2html_strict).to eq(<<~TEXT.chomp)
- http://example.com
- HTML
- http://example.com
- TEXT
- end
-
it 'does not add title attr (for URL-safe/unsafe characters)' do
expect(<<~HTML.chomp.html2html_strict).to eq(<<~TEXT.chomp)
http://example.com?abc=123&123=abc
diff --git a/spec/lib/html_sanitizer_spec.rb b/spec/lib/html_sanitizer_spec.rb
index cbf0a69ab..e387178cb 100644
--- a/spec/lib/html_sanitizer_spec.rb
+++ b/spec/lib/html_sanitizer_spec.rb
@@ -198,9 +198,17 @@ RSpec.describe HtmlSanitizer do
context 'with href links that contain square brackets' do
it 'correctly URL encodes them' do
expect(described_class.strict(+'example', true))
- .to eq('example')
+ .to eq('example')
end
end
+
+ context 'with href links that contain http urls' do
+ it 'correctly URL encodes them' do
+ expect(described_class.strict(+'example', true))
+ .to eq('example')
+ end
+ end
+
end
describe '.cleanup' do
diff --git a/test/data/mail/mail011.yml b/test/data/mail/mail011.yml
index 867ff71c1..326442ad3 100644
--- a/test/data/mail/mail011.yml
+++ b/test/data/mail/mail011.yml
@@ -12,19 +12,19 @@ body: |-
- Lieber CYLEX Eintragsinhaber, das Jahr neigt sich dem Ende und die besinnliche Zeit beginnt laut Kalender mit dem 1. Advent. Und wie immer wird es in der vorweihnachtlichen Zeit meist beruflich und privat so richtig schön hektisch. Um 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.
+ Lieber CYLEX Eintragsinhaber, das Jahr neigt sich dem Ende und die besinnliche Zeit beginnt laut Kalender mit dem 1. Advent. Und wie immer wird es in der vorweihnachtlichen Zeit meist beruflich und privat so richtig schön hektisch. Um 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.
Einen gemütlichen Start in die Adventszeit wünscht Ihnen |
-
+
|
Ihr CYLEX Team
- P.S. Damit Sie keinen Tag versäumen, empfehlen wir Ihnen den Link des Adventkalenders in Ihrer Lesezeichen-Symbolleiste zu ergänzen.
+ P.S. Damit Sie keinen Tag versäumen, empfehlen wir Ihnen den Link des Adventkalenders in Ihrer Lesezeichen-Symbolleiste zu ergänzen.
@@ -32,8 +32,8 @@ 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
- Homepage
- Newsletter abbestellen
+ Homepage
+ Newsletter abbestellen
|
diff --git a/test/data/mail/mail022.yml b/test/data/mail/mail022.yml
index 4ae6f5efe..063f6f4e7 100644
--- a/test/data/mail/mail022.yml
+++ b/test/data/mail/mail022.yml
@@ -4,4 +4,4 @@ from_email: ireoniqla@lipetsk.ru
from_display_name: Gilbertina Suthar
subject: P..E..N-I..S__-E N L A R-G E-M..E..N T-___P..I-L-L..S...Info.
to: Info
-body: Puzzled by judith bronte dave. Melvin will want her way through with. Continued adam helped charlie cried. Soon joined the master bathroom. Grinned adam rubbed his arms she nodded. Freemont and they talked with beppe. Thinking of bed and whenever adam. Mike was too tired man to hear.I°0PQSHEJlÔNwf˜Ì1§3S¬73 Î1mEbb5N37¢LϖC7AlFnRº♦HG64BÉ4Ò¦Måâ4ÊzkΙN⌉7⌉TBNÐ T×xPIògIÎÃlLøÕML⊥ÞøSaΨRBreathed adam gave the master bedroom door. Better get charlie took the wall. Charlotte clark smile he saw charlie. Dave and leaned her tears adam. Maybe we want any help me that. Next morning charlie gazed at their father. Well as though adam took out here. Melvin will be more money. Called him into this one last night. Men joined the pickup truck pulled away. Chuck could make sure that.†pC L I C K Ȟ E R EEOD !Chuckled adam leaned forward and leî charlie. Just then returned to believe it here. Freemont and pulling out several minutes.
+body: Puzzled by judith bronte dave. Melvin will want her way through with. Continued adam helped charlie cried. Soon joined the master bathroom. Grinned adam rubbed his arms she nodded. Freemont and they talked with beppe. Thinking of bed and whenever adam. Mike was too tired man to hear.I°0PQSHEJlÔNwf˜Ì1§3S¬73 Î1mEbb5N37¢LϖC7AlFnRº♦HG64BÉ4Ò¦Måâ4ÊzkΙN⌉7⌉TBNÐ T×xPIògIÎÃlLøÕML⊥ÞøSaΨRBreathed adam gave the master bedroom door. Better get charlie took the wall. Charlotte clark smile he saw charlie. Dave and leaned her tears adam. Maybe we want any help me that. Next morning charlie gazed at their father. Well as though adam took out here. Melvin will be more money. Called him into this one last night. Men joined the pickup truck pulled away. Chuck could make sure that.†pC L I C K Ȟ E R EEOD !Chuckled adam leaned forward and leî charlie. Just then returned to believe it here. Freemont and pulling out several minutes.
diff --git a/test/data/mail/mail043.yml b/test/data/mail/mail043.yml
index c697837ca..b7e033d41 100644
--- a/test/data/mail/mail043.yml
+++ b/test/data/mail/mail043.yml
@@ -6,12 +6,12 @@ subject: Kontakte
to: info@example.ch
body: |-
- Geben Sie diese Information an den Direktor oder den für Marketing und Umsatzsteigerung verantwortlichen Mitarbeiter Ihrer Firma weiter!
+ Geben Sie diese Information an den Direktor oder den für Marketing und Umsatzsteigerung verantwortlichen Mitarbeiter Ihrer Firma weiter!
| | Hallo, - Sie suchen nach Möglichkeiten, den Umsatz Ihre Firma zu steigern?
- Sie brauchen neue Geschäftskontakte?
- Sie sind es leid, Kontaktdaten manuell zu erfassen?
- Ihr Kontaktdatenanbieter ist zu teuer oder Sie sind mit seinen Dienstleistungen unzufrieden?
- - Sie möchten Ihre Kontaktinformationen gern effizienter auf dem neuesten Stand halten?
Bei uns können Sie mit nur wenigen Clicks Geschäftskontakte verschiedener Länder erwerben.
Dies ist eine schnelle und bequeme Methode, um Daten zu einem vernünftigen Preis zu erhalten. Alle Daten werden ständig aktualisiertm so dass Sie sich keine Sorgen machen müssen. | | Die Anmeldung ist absolut kostenlos und unverbindlich. Sie können die Kataloge gemäß Ihren eigenen Kriterien filtern und ein kostenloses Datenmuster bestellen, sobald Sie sich angemeldet haben. | | Wir haben Datenbanken der folgenden Länder:
+ Sie möchten Ihre Kontaktinformationen gern effizienter auf dem neuesten Stand halten? Bei uns können Sie mit nur wenigen Clicks Geschäftskontakte verschiedener Länder erwerben.
Dies ist eine schnelle und bequeme Methode, um Daten zu einem vernünftigen Preis zu erhalten. Alle Daten werden ständig aktualisiertm so dass Sie sich keine Sorgen machen müssen. | | Die Anmeldung ist absolut kostenlos und unverbindlich. Sie können die Kataloge gemäß Ihren eigenen Kriterien filtern und ein kostenloses Datenmuster bestellen, sobald Sie sich angemeldet haben. | | Wir haben Datenbanken der folgenden Länder:
| | Anwendungsmöglichkeiten für Geschäftskontakte -
Newsletter senden - Senden von Werbung per E-Mail (besonders effizient).
-
@@ -43,10 +43,10 @@ body: |-
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) | | | |
+ | 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
+ Unsubscribe from newsletter: Click here
content_type: text/html
reply-to: Paula
attachments:
diff --git a/test/data/mail/mail047.yml b/test/data/mail/mail047.yml
index b82ed421a..f625035aa 100644
--- a/test/data/mail/mail047.yml
+++ b/test/data/mail/mail047.yml
@@ -1,4 +1,10 @@
--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess
+from: EXAMPLE HotPriceMail
+from_email: anja.weber@example.de
+from_display_name: EXAMPLE HotPriceMail
+to: info@example.de
+subject: "-90%! Nur 3,90 statt 39,90 EUR: In-Ear-Stereo-Headset mit Bluetooth 4.1
+ und Magnetverschluss für Bob Max Example"
body: |-
HotPriceMail - -90%! Nur 3,90 statt 39,90 EUR: In-Ear-Stereo-Headset mit Bluetooth 4.1 und Magnetverschluss
@@ -10,12 +16,12 @@ body: |-
| |
|
- |
- |
- |
- |
- |
- |
+ |
+ |
+ |
+ |
+ |
+ |
|
@@ -31,9 +37,9 @@ body: |-
|
- |
- |
- |
+ |
+ |
+ |
@@ -50,7 +56,7 @@ body: |-
Sehr geehrter Herr Example,
genießen Sie Ihre Lieblings-Musik jetzt ohne störende Kabel - ob zu Hause oder unterwegs:
Mit dem In-Ear-Stereo-Headset SH-30 übertragen Sie Ihre MP3-Hits einfach per Bluetooth 4.1 - von Smartphone, iPhone, Tablet-PC, iPad u.v.m. Auch Ihre Telefonate führen Sie kabellos. Das Smartphone bleibt dabei in der Tasche.
Über die integrierte Fernbedienung steuern Sie die Musikwiedergabe und Lautstärke sowie Ihre Gespräche komfortabel über 3 Tasten.
Der leistungsstarke Akku versorgt Ihr Headset für bis zu 5 Stunden Non-Stop-Musikgenuss mit Energie und erreicht bis zu 100 Stunden Standby-Zeit.
Wenn Sie Ihr Headset gerade nicht benötigen, tragen Sie es bequem wie eine Kette um den Hals. Verbinden Sie dazu einfach die beiden magnetischen Ohrhörer mit einem Klick miteinander.
|
-
Im Vorfeld der CeBIT konnten wir einen Posten von 12.000 Stück im Bulk-Pack aus Produktionsüberhang unfassbar günstig einkaufen - diesen Vorteil geben wir an unsere Newsletterkunden weiter: Ihr komfortables Hightech-Headset erhalten Sie heute zum exklusiven Sonderpreis von nur 3,90 Euro* statt1 für 39,90 Euro. Greifen Sie gleich zu!
USB-Netzteile zum Aufladen Ihres Bluetooth-Headsets bestellen Sie schon ab 2,90 Euro* hier im Webshop.
Mein Tipp für alle Geräte ohne Bluetooth: Das Premium-In-Ear-Headset mit Kabel-Fernbedienung und patentiertem Doppel-Luftkammer-Soundsystem erhalten Sie zum Vorzugspreis von nur 6,90 Euro* statt1 für 39,90 Euro. Bestellen Sie direkt hier!
Viel Freude beim Musik-Hören und Telefonieren wünscht
+
Im Vorfeld der CeBIT konnten wir einen Posten von 12.000 Stück im Bulk-Pack aus Produktionsüberhang unfassbar günstig einkaufen - diesen Vorteil geben wir an unsere Newsletterkunden weiter: Ihr komfortables Hightech-Headset erhalten Sie heute zum exklusiven Sonderpreis von nur 3,90 Euro* statt1 für 39,90 Euro. Greifen Sie gleich zu!
USB-Netzteile zum Aufladen Ihres Bluetooth-Headsets bestellen Sie schon ab 2,90 Euro* hier im Webshop.
Mein Tipp für alle Geräte ohne Bluetooth: Das Premium-In-Ear-Headset mit Kabel-Fernbedienung und patentiertem Doppel-Luftkammer-Soundsystem erhalten Sie zum Vorzugspreis von nur 6,90 Euro* statt1 für 39,90 Euro. Bestellen Sie direkt hier!
Viel Freude beim Musik-Hören und Telefonieren wünscht
@@ -66,30 +72,30 @@ body: |-
|
|
- Stereo-Headset mit Magnetverschluss |
+ Stereo-Headset mit Magnetverschluss |
|
|
- Magnetisches In-Ear-Stereo-Headset, BT 4.1, Multipoint & Auto-Connect |
+ Magnetisches In-Ear-Stereo-Headset, BT 4.1, Multipoint & Auto-Connect |
|
|
- In-Ear-Headset mit Bluetooth 4.1, 2x 2 Membranen & 3-Tasten-Bedienteil |
+ In-Ear-Headset mit Bluetooth 4.1, 2x 2 Membranen & 3-Tasten-Bedienteil |
|
|
- In-Ear-Headset mit 2x 2 Membranen & 3-Tasten-Bedienteil, 3,5-mm-Klinke |
+ In-Ear-Headset mit 2x 2 Membranen & 3-Tasten-Bedienteil, 3,5-mm-Klinke |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
@@ -112,7 +118,7 @@ body: |-
|
- Bestell-Nr. HZ-2654-924
|
+ Bestell-Nr. HZ-2654-924
|
|
statt1 € 39,90
@@ -125,7 +131,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1618-924
|
+ Bestell-Nr. ZX-1618-924
|
|
statt1 € 69,90
@@ -138,7 +144,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1624-924
|
+ Bestell-Nr. ZX-1624-924
|
|
statt1 € 59,90
@@ -151,7 +157,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1623-924
|
+ Bestell-Nr. ZX-1623-924
|
|
statt1 € 39,90
@@ -180,30 +186,30 @@ body: |-
| |
|
- In-Ear-Stereo-Headset IHS-570 mit High-Resolution-Audio, 5 Hz - 70 kHz |
+ In-Ear-Stereo-Headset IHS-570 mit High-Resolution-Audio, 5 Hz - 70 kHz |
|
|
- In-Ear-Stereo-Headset IHS-100 mit Flachkabel, Aluminium-Gehäuse |
+ In-Ear-Stereo-Headset IHS-100 mit Flachkabel, Aluminium-Gehäuse |
|
|
- Sport-Headset, Bone Conduction |
+ Sport-Headset, Bone Conduction |
|
|
- In-Ear-Sport-Headset, Bluetooth 4.1, Multipoint, Fernbed. |
+ In-Ear-Sport-Headset, Bluetooth 4.1, Multipoint, Fernbed. |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
@@ -224,7 +230,7 @@ body: |-
|
- Bestell-Nr. ZX-1598-924
|
+ Bestell-Nr. ZX-1598-924
|
|
statt1 € 49,90
@@ -237,7 +243,7 @@ body: |-
| |
|
- Bestell-Nr. PX-8489-924
|
+ Bestell-Nr. PX-8489-924
|
|
statt1 € 29,90
@@ -250,7 +256,7 @@ body: |-
| |
|
- Bestell-Nr. PX-1846-924
|
+ Bestell-Nr. PX-1846-924
|
|
statt1 € 79,00
@@ -263,7 +269,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1621-924
|
+ Bestell-Nr. ZX-1621-924
|
|
statt1 € 29,90
@@ -292,30 +298,30 @@ body: |-
| |
|
- Spritzwasser- geschütztes Sport-Headset mit Bluetooth 4.1 |
+ Spritzwasser- geschütztes Sport-Headset mit Bluetooth 4.1 |
|
|
- Bluetooth-4.1-Sport-Headset, spritzwasser-geschützt, aptX |
+ Bluetooth-4.1-Sport-Headset, spritzwasser-geschützt, aptX |
|
|
- Wasserdichtes Sport-Headset |
+ Wasserdichtes Sport-Headset |
|
|
- Bluetooth-4.1-Sport-Headset, In-Ear |
+ Bluetooth-4.1-Sport-Headset, In-Ear |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
@@ -336,7 +342,7 @@ body: |-
|
- Bestell-Nr. ZX-1535-924
|
+ Bestell-Nr. ZX-1535-924
|
|
statt1 € 89,90
@@ -349,7 +355,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1534-924
|
+ Bestell-Nr. ZX-1534-924
|
|
statt1 € 49,90
@@ -362,7 +368,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1549-924
|
+ Bestell-Nr. ZX-1549-924
|
|
statt1 € 99,90
@@ -375,7 +381,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1533-924
|
+ Bestell-Nr. ZX-1533-924
|
|
statt1 € 39,90
@@ -404,30 +410,30 @@ body: |-
| |
|
- Wasserdichtes BT-4.0-Headset Bone Conduction |
+ Wasserdichtes BT-4.0-Headset Bone Conduction |
|
|
- Knochen-Leit-Bluetooth-Headset |
+ Knochen-Leit-Bluetooth-Headset |
|
|
- Stereo-Headset mit Bluetooth 4.0, aptX, schwarz |
+ Stereo-Headset mit Bluetooth 4.0, aptX, schwarz |
|
|
- Komfort-Sport-Ohrhörer |
+ Komfort-Sport-Ohrhörer |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
@@ -448,7 +454,7 @@ body: |-
|
- Bestell-Nr. ZX-1547-924
|
+ Bestell-Nr. ZX-1547-924
|
|
statt1 € 169,90
@@ -461,7 +467,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1546-924
|
+ Bestell-Nr. ZX-1546-924
|
|
statt1 € 149,90
@@ -474,7 +480,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1539-924
|
+ Bestell-Nr. ZX-1539-924
|
|
statt1 € 39,90
@@ -487,7 +493,7 @@ body: |-
| |
|
- Bestell-Nr. PX-1165-924
|
+ Bestell-Nr. PX-1165-924
|
|
statt1 € 24,90
@@ -516,30 +522,30 @@ body: |-
| |
|
- Aluminium-Stereo-Ohrhörer "Premium-Sound" |
+ Aluminium-Stereo-Ohrhörer "Premium-Sound" |
|
|
- Ohrhörer mit Kabel-Fernbedienung & IST-Technologie |
+ Ohrhörer mit Kabel-Fernbedienung & IST-Technologie |
|
|
- Earbud-Ohrhörer 'Basic' |
+ Earbud-Ohrhörer 'Basic' |
|
|
- Premium-Stereo-Ohrhörer auvisio 'Bass Tube' |
+ Premium-Stereo-Ohrhörer auvisio 'Bass Tube' |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
@@ -561,7 +567,7 @@ body: |-
|
- Bestell-Nr. PX-1062-924
|
+ Bestell-Nr. PX-1062-924
|
|
statt1 € 24,90
@@ -574,7 +580,7 @@ body: |-
| |
|
- Bestell-Nr. PX-1490-924
|
+ Bestell-Nr. PX-1490-924
|
|
statt1 € 79,90
@@ -587,7 +593,7 @@ body: |-
| |
|
- Bestell-Nr. PX-1148-924
|
+ Bestell-Nr. PX-1148-924
|
|
statt1 € 9,90
@@ -600,7 +606,7 @@ body: |-
| |
|
- Bestell-Nr. PE-5848-924
|
+ Bestell-Nr. PE-5848-924
|
|
statt1 € 29,90
@@ -629,30 +635,30 @@ body: |-
| |
|
- MiniBluetooth 4.0 Akku-In-Ear-Headset, One-Touch-Bedienung |
+ MiniBluetooth 4.0 Akku-In-Ear-Headset, One-Touch-Bedienung |
|
|
- Headset mit Bluetooth 3.0 für Musik & Telefonate |
+ Headset mit Bluetooth 3.0 für Musik & Telefonate |
|
|
- Universelles Bluetooth-Headset mit Bluetooth 3.0 |
+ Universelles Bluetooth-Headset mit Bluetooth 3.0 |
|
|
- Knopf-Headset mit Kfz-Ladestation, Bluetooth 4.0, 2 USB-Ladeports |
+ Knopf-Headset mit Kfz-Ladestation, Bluetooth 4.0, 2 USB-Ladeports |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
@@ -675,7 +681,7 @@ body: |-
|
- Bestell-Nr. ZX-1627-924
|
+ Bestell-Nr. ZX-1627-924
|
|
statt1 € 24,90
@@ -688,7 +694,7 @@ body: |-
| |
|
- Bestell-Nr. HZ-3489-924
|
+ Bestell-Nr. HZ-3489-924
|
|
statt1 € 29,90
@@ -701,7 +707,7 @@ body: |-
| |
|
- Bestell-Nr. HZ-2236-924
|
+ Bestell-Nr. HZ-2236-924
|
|
statt1 € 29,90
@@ -714,7 +720,7 @@ body: |-
| |
|
- Bestell-Nr. HZ-2811-924
|
+ Bestell-Nr. HZ-2811-924
|
|
statt1 € 39,90
@@ -743,30 +749,30 @@ body: |-
| |
|
- Stereo-Bluetooth-Headset mit Nackenbügel |
+ Stereo-Bluetooth-Headset mit Nackenbügel |
|
|
- Faltbares On-Ear-Bluetooth-Headset mit MP3-Player |
+ Faltbares On-Ear-Bluetooth-Headset mit MP3-Player |
|
|
- Faltbarer HiFi-Kopfhörer mit Headset-Funktion, Bluetooth 3.0 |
+ Faltbarer HiFi-Kopfhörer mit Headset-Funktion, Bluetooth 3.0 |
|
|
- Noise-Cancelling-Kopfhörer |
+ Noise-Cancelling-Kopfhörer |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
@@ -788,7 +794,7 @@ body: |-
|
- Bestell-Nr. HZ-1765-924
|
+ Bestell-Nr. HZ-1765-924
|
|
statt1 € 49,90
@@ -801,7 +807,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1572-924
|
+ Bestell-Nr. ZX-1572-924
|
|
statt1 € 49,90
@@ -814,7 +820,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1564-924
|
+ Bestell-Nr. ZX-1564-924
|
|
statt1 € 69,90
@@ -827,7 +833,7 @@ body: |-
| |
|
- Bestell-Nr. PX-1489-924
|
+ Bestell-Nr. PX-1489-924
|
|
statt1 € 99,90
@@ -856,30 +862,30 @@ body: |-
| |
|
- Bluetooth 4 Over-Ear-HiFi-Headset OHS-420 mit Steuertasten |
+ Bluetooth 4 Over-Ear-HiFi-Headset OHS-420 mit Steuertasten |
|
|
- Stereo-Bügelkopfhörer klappbar, on-ear |
+ Stereo-Bügelkopfhörer klappbar, on-ear |
|
|
- Premium-On-Ear-Headset OHS-250 im Aluminiumgehäuse, Bluetooth 4.0 |
+ Premium-On-Ear-Headset OHS-250 im Aluminiumgehäuse, Bluetooth 4.0 |
|
|
- Funk-Kopfhörer mit Ladestation |
+ Funk-Kopfhörer mit Ladestation |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
@@ -899,7 +905,7 @@ body: |-
|
- Bestell-Nr. ZX-1571-924
|
+ Bestell-Nr. ZX-1571-924
|
|
statt1 € 129,90
@@ -912,7 +918,7 @@ body: |-
| |
|
- Bestell-Nr. PX-1467-924
|
+ Bestell-Nr. PX-1467-924
|
|
statt1 € 29,90
@@ -925,7 +931,7 @@ body: |-
| |
|
- Bestell-Nr. ZX-1599-924
|
+ Bestell-Nr. ZX-1599-924
|
|
statt1 € 69,90
@@ -938,7 +944,7 @@ body: |-
| |
|
- Bestell-Nr. PX-1390-924
|
+ Bestell-Nr. PX-1390-924
|
|
statt1 € 79,90
@@ -967,30 +973,30 @@ body: |-
| |
|
- HiFi-Kopfhörer mit integr. MP3-Player & Radio |
+ HiFi-Kopfhörer mit integr. MP3-Player & Radio |
|
|
- MP4-Player mit Bluetooth, FM-Radio, Video |
+ MP4-Player mit Bluetooth, FM-Radio, Video |
|
|
- MP3- & Video-Player für microSD-Karten |
+ MP3- & Video-Player für microSD-Karten |
|
|
- Wasserdichter, kabelloser Sport-MP3-Player, 4GB |
+ Wasserdichter, kabelloser Sport-MP3-Player, 4GB |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
@@ -1013,7 +1019,7 @@ body: |-
|
- Bestell-Nr. PX-4815-924
|
+ Bestell-Nr. PX-4815-924
|
|
statt1 € 49,90
@@ -1026,7 +1032,7 @@ body: |-
| |
|
- Bestell-Nr. PX-1485-924
|
+ Bestell-Nr. PX-1485-924
|
|
statt1 € 59,90
@@ -1039,7 +1045,7 @@ body: |-
| |
|
- Bestell-Nr. PX-2553-924
|
+ Bestell-Nr. PX-2553-924
|
|
statt1 € 39,90
@@ -1052,7 +1058,7 @@ body: |-
| |
|
- Bestell-Nr. PX-2575-924
|
+ Bestell-Nr. PX-2575-924
|
|
statt1 € 99,90
@@ -1081,30 +1087,30 @@ body: |-
| |
|
- 4in1-Bluetooth-Headset-Adapter mit Mikro, MP3, Radio, 3,5-mm-Klinke |
+ 4in1-Bluetooth-Headset-Adapter mit Mikro, MP3, Radio, 3,5-mm-Klinke |
|
|
- 5in1-BT-Headset-Adapter mit Mikro, MP3, Radio, für Kopfhörer |
+ 5in1-BT-Headset-Adapter mit Mikro, MP3, Radio, für Kopfhörer |
|
|
- Bluetooth-4.2-Headset-Adapter mit 3,5-mm-Klinke-Anschluss & Mikrofon |
+ Bluetooth-4.2-Headset-Adapter mit 3,5-mm-Klinke-Anschluss & Mikrofon |
|
|
- Kopfhörerverstärker mit Mikro für Smartphone... |
+ Kopfhörerverstärker mit Mikro für Smartphone... |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
|
- |
+ |
|
@@ -1126,7 +1132,7 @@ body: |-
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
| | | | |
| |
|