diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 000000000..fe85c3769 --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,13 @@ +# Changes + +## Zammad 1.1.0 + - 2016-10-28 Implemented issue#[317](https://github.com/zammad/zammad/issues/317) - Display origin url from tweet/facebook post in article view. + +## Zammad 1.0.1 + - 2016-11-03 Fixed issue#[348](https://github.com/zammad/zammad/issues/348) - IMAP mail fetching stops because of broken spam email (invalid Content-Transfer-Encoding header) + - 2016-10-29 Fixed issue#[326](https://github.com/zammad/zammad/issues/326) - Create emails via fetchmail / procmail. + - 2016-10-28 Fixed issue#[251](https://github.com/zammad/zammad/issues/251) - Page posts from facebook and tweets from twitter as tickets (new tickets from own posts / tweets will be created as closed now). + - 2016-10-28 Fixed issue#[323](https://github.com/zammad/zammad/issues/323) - Unable to create tickets if SLA with condition article.subject is set. + - 2016-10-27 Fixed issue#[268](https://github.com/zammad/zammad/issues/268) - No space at comment on ticket bulk action. + - 2016-10-27 Fixed issue#[313](https://github.com/zammad/zammad/issues/313) - Admin -> Channels -> Email -> Filters not shown / no name shown. + - 2016-10-23 Fixed issue#[277](https://github.com/zammad/zammad/issues/277) - Chat history wrong on app/page reload. diff --git a/app/models/channel/email_parser.rb b/app/models/channel/email_parser.rb index 3c1b7eada..028b8cdc9 100644 --- a/app/models/channel/email_parser.rb +++ b/app/models/channel/email_parser.rb @@ -380,13 +380,15 @@ retrns FileUtils.mkpath path md5 = Digest::MD5.hexdigest(msg) filename = "#{path}/#{md5}.eml" - Rails.logger.error "ERROR: Can't process email, store it for bug reporting under #{filename}" + message = "ERROR: Can't process email, you will find it for bug reporting under #{filename}, please create an issue at https://github.com/zammad/zammad/issues" + p message # rubocop:disable Rails/Output + p 'ERROR: ' + e.inspect # rubocop:disable Rails/Output + Rails.logger.error message Rails.logger.error 'ERROR: ' + e.inspect File.open(filename, 'wb') { |file| file.write msg } raise e.inspect + e.backtrace.inspect - end def _process(channel, msg) @@ -624,8 +626,9 @@ retrns end -# workaround to parse subjects with 2 different encodings correctly (e. g. quoted-printable see test/fixtures/mail9.box) module Mail + + # workaround to parse subjects with 2 different encodings correctly (e. g. quoted-printable see test/fixtures/mail9.box) module Encodings def self.value_decode(str) # Optimization: If there's no encoded-words in the string, just return it @@ -660,4 +663,19 @@ module Mail end.join('') end end + + # issue#348 - IMAP mail fetching stops because of broken spam email (e. g. broken Content-Transfer-Encoding value see test/fixtures/mail43.box) + # https://github.com/zammad/zammad/issues/348 + class Body + def decoded + if !Encodings.defined?(encoding) + #raise UnknownEncodingType, "Don't know how to decode #{encoding}, please call #encoded and decode it yourself." + Rails.logger.info "UnknownEncodingType: Don't know how to decode #{encoding}!" + raw_source + else + Encodings.get_encoding(encoding).decode(raw_source) + end + end + end + end diff --git a/test/fixtures/mail43.box b/test/fixtures/mail43.box new file mode 100644 index 000000000..4019838ee --- /dev/null +++ b/test/fixtures/mail43.box @@ -0,0 +1,324 @@ +From 8b11391258c-c-720@example.com Wed Nov 2 12:35:34 2016 +Return-Path: <8b11391258c-c-720@example.com> +X-Original-To: info@example.ch +Delivered-To: example-swiss-sales@arber.example.com +Received: from h2.example.com (h2.example.com [85.194.241.179]) + by arber.example.com (Postfix) with ESMTP id 84A4760187 + for ; Wed, 2 Nov 2016 12:35:34 +0100 (CET) +MIME-Version: 1.0 +From: Paula +To: info@example.ch +X-Original-To: info@example.ch +Reply-To: Paula +Subject: Kontakte +Date: Wed, 02 Nov 2016 09:33:14 -0400 +Precedence: bulk +List-Unsubscribe: +Content-Type: multipart/alternative; + boundary="=_054230945e33091c0f5c1a08e71edcfc" +Message-Id: <20161102133314.5737E3ABA2DE@h2.example.com> +X-UID: 2430 +Status: RO +Content-Length: 28457 +Lines: 299 + +--=_054230945e33091c0f5c1a08e71edcfc +Content-Transfer-Encoding: UTF-8 +Content-Type: text/plain; charset="UTF-8" + +HTML newsletter could be read here: + +http://business-catalogs.example.com/cmVlbHQxODsxdDE5NWIzLTcyYzhjMjAt + +======== + +If you want to unsubscribe click here: + +http://business-catalogs.example.com/c2JudXVlcmNic2I4MWk7MTgxOTMyNS1jMmMtNzA%3D +--=_054230945e33091c0f5c1a08e71edcfc +Content-Transfer-Encoding: UTF-8 +Content-Type: text/html; charset="UTF-8" + +
+ + + + + + +
+ + + + + + +
 
+ + + + + + +
+ + + + + + +
+ + + + + + +
 
+ + + + + + + + + +
+

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.

+

 

+
 
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
  
 
+

XLS-Muster herunterladen
+

+
    +

Datenbank bestellen
+

+
+
 
+ + + + + + + + + +
+

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).
  • Telemarketing - Telefonwerbung.
  • SMS-Marketing - Senden von Kurznachrichten.
  • 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)

+
 
+
+  
+  
+

Unsubscribe from newsletter: Click here


+--=_054230945e33091c0f5c1a08e71edcfc-- + diff --git a/test/unit/email_parser_test.rb b/test/unit/email_parser_test.rb index ab9549c77..144401f3d 100644 --- a/test/unit/email_parser_test.rb +++ b/test/unit/email_parser_test.rb @@ -662,6 +662,19 @@ end }, ], }, + { + data: IO.binread('test/fixtures/mail43.box'), + body_md5: '8780f8c73265cba2714acb2a38ad83fb', + params: { + from: 'Paula ', + from_email: 'databases.en@example.com', + from_display_name: 'Paula', + subject: 'Kontakte', + to: 'info@example.ch', + cc: nil, + body: "http://business-catalogs.example.com/ODtpbGs5MWIzbjUyYzExLTA4Yy06Mmg7N3AvL3R0bmFvY3B0LXlhbW9sc2Nhb3NnYy5lL3RpbXJlZi9lbS9ycnJuaWFpZXMsdGxnaWVpLGUzZHx4bnxlZWY%3D

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.

http://business-catalogs.example.com/ODtpbGs5MWIzbjUyYzExLTA4Yy06Mmg7N3AvL3R0LnNzdXJobGZzZWVsdGEtLm10cmVzb2YvY2VtL2xpZ25pYWlnaV9hbC9zOG1lOXgyOTdzZW1hL2VlL2xwZWxheHB4Q18ubXhzfEhsODh8Y2M%3D     http://business-catalogs.example.com/ODtpbGs5MWIzbjUyYzExLTA4Yy06Mmg7N3AvL3R0bmFvY3B0LXlhbW9sc2Nhb3NnYy5lL3RpbXJlZi9lbS9ycnJuaWFpZXMsdGxnaWVpLGUzZHx4bnxlZWY%3D

XLS-Muster herunterladen (http://business-catalogs.example.com/ODtpbGs5MWIzbjUyYzExLTA4Yy06Mmg7N3AvL3R0LnNzdXJobGZzZWVsdGEtLm10cmVzb2YvY2VtL2xpZ25pYWlnaV9hbC9zOG1lOXgyOTdzZW1hL2VlL2xwZWxheHB4Q18ubXhzfEhsODh8Y2M%3D)

Datenbank bestellen (http://business-catalogs.example.com/ODtpbGs5MWIzbjUyYzExLTA4Yy06Mmg7N3AvL3R0bmFvY3B0LXlhbW9sc2Nhb3NnYy5lL3RpbXJlZi9lbS9ycnJuaWFpZXMsdGxnaWVpLGUzZHx4bnxlZWY%3D)

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:

  • Österreich
  • Belgien
  • Belarus
  • Schweiz
  • Tschechische Republik
  • Deutschland
  • Estland
  • Frankreich
  • Vereinigtes Königreich
  • Ungarn
  • Irland
  • Italien
  • Liechtenstein
  • Litauen
  • Luxemburg
  • Lettland
  • Niederlande
  • Polen
  • Russland
  • Slowenien
  • Slowakei
  • Ukraine


Anwendungsmöglichkeiten für Geschäftskontakte

  • Newsletter senden - Senden von Werbung per E-Mail (besonders effizient).
  • Telemarketing - Telefonwerbung.
  • SMS-Marketing - Senden von Kurznachrichten.
  • 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)

Unsubscribe from newsletter: Click here (http://business-catalogs.example.com/c2JudXVlcmNic2I4MWk7MTgxOTMyNS1jMmMtNzA%3D)", + }, + }, ] count = 0