Merge branch 'develop' of git.znuny.com:zammad/zammad into develop
This commit is contained in:
commit
58ec1cbc8e
7 changed files with 140 additions and 75 deletions
3
Gemfile
3
Gemfile
|
@ -80,8 +80,9 @@ gem 'twitter'
|
|||
|
||||
# channels - email additions
|
||||
gem 'htmlentities'
|
||||
gem 'mail', '2.6.6'
|
||||
gem 'mail', '>= 2.7.1.rc1'
|
||||
gem 'mime-types'
|
||||
gem 'rchardet', '>= 1.8.0'
|
||||
gem 'valid_email2'
|
||||
|
||||
# feature - business hours
|
||||
|
|
|
@ -217,14 +217,15 @@ GEM
|
|||
crass (~> 1.0.2)
|
||||
nokogiri (>= 1.5.9)
|
||||
lumberjack (1.0.12)
|
||||
mail (2.6.6)
|
||||
mime-types (>= 1.16, < 4)
|
||||
mail (2.7.1.rc1)
|
||||
mini_mime (>= 0.1.1)
|
||||
memoizable (0.4.2)
|
||||
thread_safe (~> 0.3, >= 0.3.1)
|
||||
method_source (0.9.0)
|
||||
mime-types (3.1)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2016.0521)
|
||||
mini_mime (1.0.0)
|
||||
mini_portile2 (2.3.0)
|
||||
minitest (5.11.3)
|
||||
multi_json (1.12.2)
|
||||
|
@ -341,6 +342,7 @@ GEM
|
|||
rb-fsevent (0.10.2)
|
||||
rb-inotify (0.9.10)
|
||||
ffi (>= 0.5.0, < 2)
|
||||
rchardet (1.8.0)
|
||||
ref (2.0.0)
|
||||
rest-client (2.0.2)
|
||||
http-cookie (>= 1.0.2, < 2.0)
|
||||
|
@ -508,7 +510,7 @@ DEPENDENCIES
|
|||
json
|
||||
koala
|
||||
libv8
|
||||
mail (= 2.6.6)
|
||||
mail (>= 2.7.1.rc1)
|
||||
mime-types
|
||||
mysql2
|
||||
net-ldap
|
||||
|
@ -532,6 +534,7 @@ DEPENDENCIES
|
|||
rails (= 5.1.5)
|
||||
rails-observers
|
||||
rb-fsevent
|
||||
rchardet (>= 1.8.0)
|
||||
rspec-rails
|
||||
rubocop
|
||||
rubyntlm!
|
||||
|
|
|
@ -68,6 +68,11 @@ class Channel::EmailParser
|
|||
|
||||
def parse(msg)
|
||||
data = {}
|
||||
|
||||
# Rectify invalid encodings
|
||||
encoding = CharDet.detect(msg)['encoding']
|
||||
msg.force_encoding(encoding) if !msg.valid_encoding?
|
||||
|
||||
mail = Mail.new(msg)
|
||||
|
||||
# set all headers
|
||||
|
|
|
@ -92,7 +92,7 @@ module Channel::Filter::FollowUpCheck
|
|||
|
||||
# remove leading "..:\s" and "..[\d+]:\s" e. g. "Re: " or "Re[5]: "
|
||||
subject_to_check = mail[:subject]
|
||||
subject_to_check.gsub!(/^(..(\[\d+\])?:\s)+/, '')
|
||||
subject_to_check.gsub!(/^(..(\[\d+\])?:\s+)+/, '')
|
||||
|
||||
# if subject is different, it's no followup
|
||||
next if subject_to_check != article_first.subject
|
||||
|
|
|
@ -58,8 +58,8 @@ class EmailBuildTest < ActiveSupport::TestCase
|
|||
>
|
||||
> Thank you for installing Zammad. äöüß
|
||||
>'
|
||||
assert_equal(should, mail.text_part.body.to_s)
|
||||
assert_equal(html, mail.html_part.body.to_s)
|
||||
assert_equal(mail.text_part.body.to_s, Mail::Utilities.to_crlf(should))
|
||||
assert_equal(mail.html_part.body.to_s, Mail::Utilities.to_crlf(html))
|
||||
|
||||
parser = Channel::EmailParser.new
|
||||
data = parser.parse(mail.to_s)
|
||||
|
@ -112,7 +112,7 @@ class EmailBuildTest < ActiveSupport::TestCase
|
|||
>
|
||||
> Thank you for installing Zammad. äöüß
|
||||
>'
|
||||
assert_equal(should, mail.text_part.body.to_s)
|
||||
assert_equal(mail.text_part.body.to_s, Mail::Utilities.to_crlf(should))
|
||||
assert_nil(mail.html_part)
|
||||
assert_equal('image/png; filename=somename.png', mail.attachments[0].content_type)
|
||||
|
||||
|
@ -194,7 +194,7 @@ class EmailBuildTest < ActiveSupport::TestCase
|
|||
>
|
||||
> Thank you for installing Zammad. äöüß
|
||||
>'
|
||||
assert_equal(should, mail.text_part.body.to_s)
|
||||
assert_equal(mail.text_part.body.to_s, Mail::Utilities.to_crlf(should))
|
||||
assert_nil(mail.html_part)
|
||||
assert_equal('text/calendar; filename=schedule.ics', mail.attachments[0].content_type)
|
||||
|
||||
|
@ -235,7 +235,7 @@ class EmailBuildTest < ActiveSupport::TestCase
|
|||
>
|
||||
> Thank you for installing Zammad. äöüß
|
||||
>'
|
||||
assert_equal(should, mail.body.to_s)
|
||||
assert_equal(mail.body.to_s, Mail::Utilities.to_crlf(should))
|
||||
assert_nil(mail.html_part)
|
||||
|
||||
parser = Channel::EmailParser.new
|
||||
|
|
|
@ -5,7 +5,8 @@ class EmailParserTest < ActiveSupport::TestCase
|
|||
test 'parse' do
|
||||
files = [
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail1.box'),
|
||||
data: IO.read('test/fixtures/mail1.box'),
|
||||
source: 'test/fixtures/mail1.box',
|
||||
body_md5: 'e5cf748bf60cbbf324ee20314750fdf7',
|
||||
params: {
|
||||
from: 'John.Smith@example.com',
|
||||
|
@ -22,7 +23,8 @@ class EmailParserTest < ActiveSupport::TestCase
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail2.box'),
|
||||
data: IO.read('test/fixtures/mail2.box'),
|
||||
source: 'test/fixtures/mail2.box',
|
||||
body_md5: '154c7d3ae7b94f99589df62882841b08',
|
||||
params: {
|
||||
from: 'Martin Edenhofer <martin@example.com>',
|
||||
|
@ -41,7 +43,8 @@ Old programmers never die. They just branch to a new address.
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail3.box'),
|
||||
data: IO.read('test/fixtures/mail3.box'),
|
||||
source: 'test/fixtures/mail3.box',
|
||||
body_md5: '0b6eb998e8903ba69a3528dedb5a5476',
|
||||
params: {
|
||||
from: '"Günther John | Example GmbH" <k.guenther@example.com>',
|
||||
|
@ -71,7 +74,8 @@ Old programmers never die. They just branch to a new address.
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail4.box'),
|
||||
data: IO.read('test/fixtures/mail4.box'),
|
||||
source: 'test/fixtures/mail4.box',
|
||||
body_md5: '9fab9a0e8523011fde0f3ecd80f8d72c',
|
||||
params: {
|
||||
from: '"Günther Katja | Example GmbH" <k.guenther@example.com>',
|
||||
|
@ -103,7 +107,8 @@ Liebe Grüße!
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail5.box'),
|
||||
data: IO.read('test/fixtures/mail5.box'),
|
||||
source: 'test/fixtures/mail5.box',
|
||||
body_md5: 'f34033e9a34bb5367062dd5df21115df',
|
||||
params: {
|
||||
from: 'marc.smith@example.com (Marc Smith)',
|
||||
|
@ -114,7 +119,8 @@ Liebe Grüße!
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail6.box'),
|
||||
data: IO.read('test/fixtures/mail6.box'),
|
||||
source: 'test/fixtures/mail6.box',
|
||||
body_md5: '849105bdee623b4314b4c3daa2495471',
|
||||
params: {
|
||||
from: '"Hans BÄKOSchönland" <me@bogen.net>',
|
||||
|
@ -128,7 +134,8 @@ Liebe Grüße!
|
|||
#<span class="js-signatureMarker"></span><div><br>
|
||||
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail7.box'),
|
||||
data: IO.read('test/fixtures/mail7.box'),
|
||||
source: 'test/fixtures/mail7.box',
|
||||
body_md5: 'b779b65c7d90aa5e350d37998a6c5fc6',
|
||||
params: {
|
||||
from: 'Eike.Ehringer@example.com',
|
||||
|
@ -188,11 +195,12 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail8.box'),
|
||||
data: IO.read('test/fixtures/mail8.box'),
|
||||
source: 'test/fixtures/mail8.box',
|
||||
body_md5: 'd540b6f1a7b25468c1bc854ebc4c43fe',
|
||||
attachments: [
|
||||
{
|
||||
md5: 'c3ca4aab222eed8a148a716371b70129',
|
||||
md5: '635e03d2ddde520b925262c8ffd03234',
|
||||
filename: 'message.html',
|
||||
},
|
||||
],
|
||||
|
@ -270,7 +278,8 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail9.box'),
|
||||
data: IO.read('test/fixtures/mail9.box'),
|
||||
source: 'test/fixtures/mail9.box',
|
||||
body_md5: '64675a479f80a674eb7c08e385c3622a',
|
||||
attachments: [
|
||||
{
|
||||
|
@ -295,11 +304,12 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail10.box'),
|
||||
data: IO.read('test/fixtures/mail10.box'),
|
||||
source: 'test/fixtures/mail10.box',
|
||||
body_md5: '47d41fa38028d5fb02c7d041da60ba1f',
|
||||
attachments: [
|
||||
{
|
||||
md5: '52d946fdf1a9304d0799cceb2fcf0e36',
|
||||
md5: '08b0c83fd155db23f22bed845715225d',
|
||||
filename: 'message.html',
|
||||
},
|
||||
{
|
||||
|
@ -319,7 +329,8 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail11.box'),
|
||||
data: IO.read('test/fixtures/mail11.box'),
|
||||
source: 'test/fixtures/mail11.box',
|
||||
body_md5: '260a815b0a7897e4219d210010008202',
|
||||
attachments: [
|
||||
{
|
||||
|
@ -369,11 +380,12 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail12.box'),
|
||||
data: IO.read('test/fixtures/mail12.box'),
|
||||
source: 'test/fixtures/mail12.box',
|
||||
body_md5: 'dd7e002b6bb709effb56bdb6f2cc2e32',
|
||||
attachments: [
|
||||
{
|
||||
md5: '46cf0f95ea0c8211cbb704e1959b9173',
|
||||
md5: '25e4f512f8b660bac82e68285755b809',
|
||||
filename: 'message.html',
|
||||
},
|
||||
{
|
||||
|
@ -399,7 +411,8 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail13.box'),
|
||||
data: IO.read('test/fixtures/mail13.box'),
|
||||
source: 'test/fixtures/mail13.box',
|
||||
body_md5: 'c3b62f742eb702910d0074e438b34c72',
|
||||
attachments: [
|
||||
{
|
||||
|
@ -418,7 +431,8 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail14.box'),
|
||||
data: IO.read('test/fixtures/mail14.box'),
|
||||
source: 'test/fixtures/mail14.box',
|
||||
body_md5: '154c7d3ae7b94f99589df62882841b08',
|
||||
attachments: [
|
||||
{
|
||||
|
@ -442,7 +456,8 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
# spam email
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail15.box'),
|
||||
data: IO.read('test/fixtures/mail15.box'),
|
||||
source: 'test/fixtures/mail15.box',
|
||||
body_md5: '5872ddcdfdf6bfe40f36cd0408fca667',
|
||||
attachments: [
|
||||
# :preferences=>{"Message-ID"=>"<temp@test>", "Content-Type"=>"application/octet-stream; name=\"\xBC\xA8\xD0\xA7\xB9\xDC\xC0\xED,\xBE\xBF\xBE\xB9\xCB\xAD\xB4\xED\xC1\xCB.xls\"", "Mime-Type"=>"application/octet-stream", "Charset"=>"UTF-8"}}
|
||||
|
@ -463,7 +478,8 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
# spam email
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail16.box'),
|
||||
data: IO.read('test/fixtures/mail16.box'),
|
||||
source: 'test/fixtures/mail16.box',
|
||||
body_md5: 'c3ea8fde251062d56b7fc72b6d73d702',
|
||||
params: {
|
||||
from: nil,
|
||||
|
@ -475,7 +491,8 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
# spam email
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail17.box'),
|
||||
data: IO.read('test/fixtures/mail17.box'),
|
||||
source: 'test/fixtures/mail17.box',
|
||||
body_md5: 'd78731371e3ec120896c51be3d0d3f8e',
|
||||
params: {
|
||||
from: '"都琹" <ghgbwum@185.com.cn>',
|
||||
|
@ -486,18 +503,20 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail18.box'),
|
||||
data: IO.read('test/fixtures/mail18.box'),
|
||||
source: 'test/fixtures/mail18.box',
|
||||
body_md5: '66f20e8557095762ccad9a6cb6f59c3a',
|
||||
params: {
|
||||
from: 'postmaster@example.com',
|
||||
from_email: 'postmaster@example.com',
|
||||
from_display_name: '',
|
||||
subject: 'Benachrichtung zum =?unicode-1-1-utf-7?Q?+ANw-bermittlungsstatus (Fehlgeschlagen)?=',
|
||||
subject: "Benachrichtung \tzum \t=?unicode-1-1-utf-7?Q?+ANw-bermittlungsstatus \t(Fehlgeschlagen)?=",
|
||||
to: 'sales@znuny.org',
|
||||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail19.box'),
|
||||
data: IO.read('test/fixtures/mail19.box'),
|
||||
source: 'test/fixtures/mail19.box',
|
||||
body_md5: '6021dd92d8e7844e6bb9b5bb7a4adfb8',
|
||||
params: {
|
||||
from: '"我" <>',
|
||||
|
@ -508,7 +527,8 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail20.box'),
|
||||
data: IO.read('test/fixtures/mail20.box'),
|
||||
source: 'test/fixtures/mail20.box',
|
||||
body_md5: '56ad8d02f4c7641fd2bb8ebf484d36d7',
|
||||
params: {
|
||||
from: 'Health and Care-Mall <drugs-cheapest8@sicor.com>',
|
||||
|
@ -597,7 +617,8 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail21.box'),
|
||||
data: IO.read('test/fixtures/mail21.box'),
|
||||
source: 'test/fixtures/mail21.box',
|
||||
body_md5: '7cb50fe6b37420fe9aea61eb5badc25a',
|
||||
params: {
|
||||
from: 'Viagra Super Force Online <pharmacy_affordable1@ertelecom.ru>',
|
||||
|
@ -608,7 +629,8 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail22.box'),
|
||||
data: IO.read('test/fixtures/mail22.box'),
|
||||
source: 'test/fixtures/mail22.box',
|
||||
body_md5: '56223b1ea04a63269020cb64be7a70b0',
|
||||
params: {
|
||||
from: 'Gilbertina Suthar <ireoniqla@lipetsk.ru>',
|
||||
|
@ -620,18 +642,20 @@ Managing Director: Martin Edenhofer
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail23.box'),
|
||||
data: IO.read('test/fixtures/mail23.box'),
|
||||
source: 'test/fixtures/mail23.box',
|
||||
body_md5: '545a1b067fd10ac636c20b44f5df8868',
|
||||
params: {
|
||||
from: 'marketingmanager@nthcpghana.com',
|
||||
from_email: 'marketingmanager@nthcpghana.com',
|
||||
from_display_name: '',
|
||||
subject: nil,
|
||||
to: '',
|
||||
to: nil,
|
||||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail24.box'),
|
||||
data: IO.read('test/fixtures/mail24.box'),
|
||||
source: 'test/fixtures/mail24.box',
|
||||
body_md5: '5872ddcdfdf6bfe40f36cd0408fca667',
|
||||
params: {
|
||||
from: 'oracle@IG0-1-DB01.example.com',
|
||||
|
@ -652,7 +676,8 @@ Managing Director: Martin Edenhofer
|
|||
],
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail25.box'),
|
||||
data: IO.read('test/fixtures/mail25.box'),
|
||||
source: 'test/fixtures/mail25.box',
|
||||
body_md5: '436f71d8d8a4ffbd3f18fc9de7d7f767',
|
||||
params: {
|
||||
from: 'oracle@IG0-1-DB01.example.com',
|
||||
|
@ -670,7 +695,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail26.box'),
|
||||
data: IO.read('test/fixtures/mail26.box'),
|
||||
source: 'test/fixtures/mail26.box',
|
||||
body_md5: '48c2843d219a7430bc84533d67719e95',
|
||||
params: {
|
||||
from: 'gate <team@support.gate.de>',
|
||||
|
@ -696,7 +722,8 @@ end
|
|||
],
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail27.box'),
|
||||
data: IO.read('test/fixtures/mail27.box'),
|
||||
source: 'test/fixtures/mail27.box',
|
||||
body_md5: '5872ddcdfdf6bfe40f36cd0408fca667',
|
||||
params: {
|
||||
from: 'caoyaoewfzfw@21cn.com',
|
||||
|
@ -714,7 +741,8 @@ end
|
|||
],
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail28.box'),
|
||||
data: IO.read('test/fixtures/mail28.box'),
|
||||
source: 'test/fixtures/mail28.box',
|
||||
body_md5: '5872ddcdfdf6bfe40f36cd0408fca667',
|
||||
params: {
|
||||
from: 'kontakt@example.de',
|
||||
|
@ -736,7 +764,8 @@ end
|
|||
],
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail29.box'),
|
||||
data: IO.read('test/fixtures/mail29.box'),
|
||||
source: 'test/fixtures/mail29.box',
|
||||
body_md5: '0637f48a0979e479efec07120a2bb700',
|
||||
params: {
|
||||
from: 'Example Sales <sales@example.com>',
|
||||
|
@ -750,7 +779,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail30.box'),
|
||||
data: IO.read('test/fixtures/mail30.box'),
|
||||
source: 'test/fixtures/mail30.box',
|
||||
body_md5: '9ce35920f5702a871f227cfe7ddd3d65',
|
||||
params: {
|
||||
from: 'Manfred Haert <Manfred.Haert@example.com>',
|
||||
|
@ -762,7 +792,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail31.box'),
|
||||
data: IO.read('test/fixtures/mail31.box'),
|
||||
source: 'test/fixtures/mail31.box',
|
||||
body_md5: '10484f3b096e85e7001da387c18871d5',
|
||||
params: {
|
||||
from: '"bertha mou" <zhengkang@ha.chinamobile.com>',
|
||||
|
@ -773,7 +804,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail32.box'),
|
||||
data: IO.read('test/fixtures/mail32.box'),
|
||||
source: 'test/fixtures/mail32.box',
|
||||
body_md5: '6bed82e0d079e521f506e4e5d3529107',
|
||||
params: {
|
||||
from: '"Dana.Qin" <Dana.Qin6e1@gmail.com>',
|
||||
|
@ -784,7 +816,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail34.box'),
|
||||
data: IO.read('test/fixtures/mail34.box'),
|
||||
source: 'test/fixtures/mail34.box',
|
||||
body_md5: 'b855b615a2c9568ea7708f9dee6b6230',
|
||||
params: {
|
||||
from: 'Bay <memberbay+12345@members.somewhat>',
|
||||
|
@ -796,7 +829,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail36.box'),
|
||||
data: IO.read('test/fixtures/mail36.box'),
|
||||
source: 'test/fixtures/mail36.box',
|
||||
body_md5: '3c58aeb003a55cafb0893d69676b4316',
|
||||
params: {
|
||||
from: 'Martin Smith <m.Smith@example.com>',
|
||||
|
@ -821,7 +855,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail37.box'),
|
||||
data: IO.read('test/fixtures/mail37.box'),
|
||||
source: 'test/fixtures/mail37.box',
|
||||
body_md5: 'dd67e5037a740c053c2bf91f67be072f',
|
||||
params: {
|
||||
from: 'Example <info@example.com>',
|
||||
|
@ -834,7 +869,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail38.box'),
|
||||
data: IO.read('test/fixtures/mail38.box'),
|
||||
source: 'test/fixtures/mail38.box',
|
||||
body_md5: 'dcd25707eed638ea568644b206a8596e',
|
||||
params: {
|
||||
from: 'Martin Edenhofer <me@example.com>',
|
||||
|
@ -853,7 +889,8 @@ end
|
|||
],
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail39.box'),
|
||||
data: IO.read('test/fixtures/mail39.box'),
|
||||
source: 'test/fixtures/mail39.box',
|
||||
body_md5: '92553234f01a918314f40973dfc2a303',
|
||||
params: {
|
||||
from: 'Martin Edenhofer <me@example.com>',
|
||||
|
@ -882,7 +919,8 @@ end
|
|||
],
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail40.box'),
|
||||
data: IO.read('test/fixtures/mail40.box'),
|
||||
source: 'test/fixtures/mail40.box',
|
||||
body_md5: '5db91cb79f889f80bbf8b47ad98efac9',
|
||||
params: {
|
||||
from: 'Martin Edenhofer <me@example.com>',
|
||||
|
@ -901,7 +939,8 @@ end
|
|||
],
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail41.box'),
|
||||
data: IO.read('test/fixtures/mail41.box'),
|
||||
source: 'test/fixtures/mail41.box',
|
||||
body_md5: '5872ddcdfdf6bfe40f36cd0408fca667',
|
||||
params: {
|
||||
from: 'Martin Edenhofer <me@example.com>',
|
||||
|
@ -920,7 +959,8 @@ end
|
|||
],
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail42.box'),
|
||||
data: IO.read('test/fixtures/mail42.box'),
|
||||
source: 'test/fixtures/mail42.box',
|
||||
body_md5: '5872ddcdfdf6bfe40f36cd0408fca667',
|
||||
params: {
|
||||
from: 'Martin Edenhofer <me@example.com>',
|
||||
|
@ -939,7 +979,8 @@ end
|
|||
],
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail43.box'),
|
||||
data: IO.read('test/fixtures/mail43.box'),
|
||||
source: 'test/fixtures/mail43.box',
|
||||
body_md5: 'a3b91a8969b54a67dd2154e70f74cc30',
|
||||
params: {
|
||||
from: 'Paula <databases.en@example.com>',
|
||||
|
@ -993,7 +1034,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail44.box'),
|
||||
data: IO.read('test/fixtures/mail44.box'),
|
||||
source: 'test/fixtures/mail44.box',
|
||||
body_md5: '2f0f5a21e4393c174d4670a188fc5548',
|
||||
params: {
|
||||
from: '"Clement.Si" <Claudia.Shu@yahoo.com.>',
|
||||
|
@ -1005,7 +1047,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail45.box'),
|
||||
data: IO.read('test/fixtures/mail45.box'),
|
||||
source: 'test/fixtures/mail45.box',
|
||||
body_md5: '1d847e3626145a9e886914ecf0d89368',
|
||||
params: {
|
||||
from: '"Ups Rémi" <r.ordonaud@example.com>',
|
||||
|
@ -1017,7 +1060,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail48.box'),
|
||||
data: IO.read('test/fixtures/mail48.box'),
|
||||
source: 'test/fixtures/mail48.box',
|
||||
body_md5: '64675a479f80a674eb7c08e385c3622a',
|
||||
attachments: [
|
||||
{
|
||||
|
@ -1042,7 +1086,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail50.box'),
|
||||
data: IO.read('test/fixtures/mail50.box'),
|
||||
source: 'test/fixtures/mail50.box',
|
||||
body_md5: '154c7d3ae7b94f99589df62882841b08',
|
||||
attachments: [],
|
||||
params: {
|
||||
|
@ -1050,7 +1095,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail51.box'),
|
||||
data: IO.read('test/fixtures/mail51.box'),
|
||||
source: 'test/fixtures/mail51.box',
|
||||
body_md5: '64675a479f80a674eb7c08e385c3622a',
|
||||
attachments: [
|
||||
{
|
||||
|
@ -1071,7 +1117,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail52.box'),
|
||||
data: IO.read('test/fixtures/mail52.box'),
|
||||
source: 'test/fixtures/mail52.box',
|
||||
body_md5: 'ad0c0727cd7d023ec9065daea03335f7',
|
||||
params: {
|
||||
from: 'MAILER-DAEMON@example.com (Mail Delivery System)',
|
||||
|
@ -1081,7 +1128,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail53.box'),
|
||||
data: IO.read('test/fixtures/mail53.box'),
|
||||
source: 'test/fixtures/mail53.box',
|
||||
body_md5: '104da300f70d5683f007951c9780c83d',
|
||||
params: {
|
||||
from: 'MAILER-DAEMON (Mail Delivery System)',
|
||||
|
@ -1091,7 +1139,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail54.box'),
|
||||
data: IO.read('test/fixtures/mail54.box'),
|
||||
source: 'test/fixtures/mail54.box',
|
||||
body_md5: '5872ddcdfdf6bfe40f36cd0408fca667',
|
||||
params: {
|
||||
from: '"Smith, Karoline, Example DE" <Karoline.Smith@example.com>',
|
||||
|
@ -1102,7 +1151,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail56.box'),
|
||||
data: IO.read('test/fixtures/mail56.box'),
|
||||
source: 'test/fixtures/mail56.box',
|
||||
body_md5: 'ee40e852b9fa18652ea66e2eda1ecbd3',
|
||||
attachments: [
|
||||
{
|
||||
|
@ -1124,7 +1174,8 @@ end
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail57.box'),
|
||||
data: IO.read('test/fixtures/mail57.box'),
|
||||
source: 'test/fixtures/mail57.box',
|
||||
body_md5: '3c5e4cf2d2a9bc572f10cd6222556027',
|
||||
attachments: [
|
||||
{
|
||||
|
@ -1160,7 +1211,8 @@ Bob Smith
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail58.box'),
|
||||
data: IO.read('test/fixtures/mail58.box'),
|
||||
source: 'test/fixtures/mail58.box',
|
||||
body_md5: '548917e0bff0806f9b27c09bbf23bb38',
|
||||
params: {
|
||||
from: 'Yangzhou ABC Lighting Equipment <bob@example.com>, LTD <ly@example.com>',
|
||||
|
@ -1177,7 +1229,8 @@ Old programmers never die. They just branch to a new address."
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail59.box'),
|
||||
data: IO.read('test/fixtures/mail59.box'),
|
||||
source: 'test/fixtures/mail59.box',
|
||||
body_md5: '548917e0bff0806f9b27c09bbf23bb38',
|
||||
params: {
|
||||
from: '"Yangzhou ABC Lighting Equipment " <>, "LTD" <ly@example.com>',
|
||||
|
@ -1194,11 +1247,12 @@ Old programmers never die. They just branch to a new address."
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail62.box'),
|
||||
data: IO.read('test/fixtures/mail62.box'),
|
||||
source: 'test/fixtures/mail62.box',
|
||||
body_md5: '10e7158e65a12b5850163d4d4b8ca2f8',
|
||||
attachments: [
|
||||
{
|
||||
md5: '2b615b93ed76877dddbb7d0e3855916b',
|
||||
md5: '51f073973e0265776b2200c785268f75',
|
||||
filename: 'message.html',
|
||||
},
|
||||
{
|
||||
|
@ -1251,7 +1305,8 @@ Old programmers never die. They just branch to a new address."
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail63.box'),
|
||||
data: IO.read('test/fixtures/mail63.box'),
|
||||
source: 'test/fixtures/mail63.box',
|
||||
body_md5: 'dbed0b09656d17bf4e832b2c18381c24',
|
||||
attachments: [
|
||||
{
|
||||
|
@ -1286,11 +1341,12 @@ delete your own text from the attached returned message.
|
|||
},
|
||||
},
|
||||
{
|
||||
data: IO.binread('test/fixtures/mail66.box'),
|
||||
data: IO.read('test/fixtures/mail66.box'),
|
||||
source: 'test/fixtures/mail66.box',
|
||||
body_md5: '346effdbc86ef1f5ea263102fba2e542',
|
||||
attachments: [
|
||||
{
|
||||
md5: '9e56d72f98bbc339c180329e61e21bdf',
|
||||
md5: '9d048520675551c64f7d8152adf0fd21',
|
||||
filename: 'message.html',
|
||||
},
|
||||
{
|
||||
|
|
|
@ -396,7 +396,7 @@ Some Text",
|
|||
result: {
|
||||
0 => {
|
||||
priority: '2 normal',
|
||||
title: '【专业为您注册香港及海外公司(好处多多)】 ',
|
||||
title: 'Subject: 【专业为您注册香港及海外公司(好处多多)】 ',
|
||||
},
|
||||
1 => {
|
||||
body: 'Some Text',
|
||||
|
@ -2759,7 +2759,7 @@ Some Text',
|
|||
title: 'some subject 3',
|
||||
},
|
||||
1 => {
|
||||
from: '=?windows-1258?B?VmFuZHJvbW1lLCBGculk6XJpYw==?= <fvandromme@example.com>',
|
||||
from: '"Vandromme, Frédéric" <fvandromme@example.com>',
|
||||
sender: 'Customer',
|
||||
type: 'email',
|
||||
body: 'Some Text',
|
||||
|
|
Loading…
Reference in a new issue