From 62fedc8fbdcad900ee4596eaebabf058057e8e51 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Thu, 8 Jan 2015 09:26:40 +0100 Subject: [PATCH] Added unit tests. --- app/models/channel/email_parser.rb | 2 +- test/fixtures/mail27.box | 41 ++++ test/fixtures/mail28.box | 313 +++++++++++++++++++++++++++++ test/unit/email_parser_test.rb | 40 ++++ 4 files changed, 395 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/mail27.box create mode 100644 test/fixtures/mail28.box diff --git a/app/models/channel/email_parser.rb b/app/models/channel/email_parser.rb index 3867e7bc8..1a20e7f29 100644 --- a/app/models/channel/email_parser.rb +++ b/app/models/channel/email_parser.rb @@ -129,7 +129,7 @@ class Channel::EmailParser # html attachment/body may exists and will be converted to text else filename = '-no name-' - if mail.html_part.body + if mail.html_part && mail.html_part.body filename = 'message.html' data[:body] = mail.html_part.body.to_s data[:body] = Encode.conv( mail.html_part.charset.to_s, data[:body] ) diff --git a/test/fixtures/mail27.box b/test/fixtures/mail27.box new file mode 100644 index 000000000..6fa518b7b --- /dev/null +++ b/test/fixtures/mail27.box @@ -0,0 +1,41 @@ +Return-Path: +X-Original-To: info@znuny.com +Delivered-To: znuny-sales@arber.znuny.com +Received: from 21cn.com (unknown [183.56.131.105]) + by arber.znuny.com (Postfix) with ESMTP id 73D2D5FEB1 + for ; Wed, 7 Jan 2015 18:25:29 +0100 (CET) +Received: from ip?117.74.70.41,?59.37.128.64? (unknown [172.16.151.38]) + by 21cn.com (HERMES) with ESMTP id 4632956F0042; + Thu, 8 Jan 2015 01:25:22 +0800 (CST) +HMM_ATTACHE_NUM:0000 +HMM_SOURCE_IP:wmail.172.16.151.38.781330570 +HMM_SOURCE_TYPE:WEBMAIL +Received: from ip<117.74.70.41, 59.37.128.64> ([117.74.70.41]) + by 21CN(MEDUSA 0.0.0.0) with ESMTP id 1420651521.23197 for duan@seat.com.cn + ; + Thu Jan 8 01:25:25 2015 +0/X-Total-Score: 40: +2/X-Total-Score: 0: +3/X-Total-Score: 80: +4/X-Brightmail-Tracker:AAAAAiMv2yojiJEK +X-FILTER-SCORE: to=<8596828f61948682954f84908e4f848f8a8f8790619b8f968f9a4f84908e8b8a8f9b89618c8a8f88859386828e4f84908e>, score=<1420651525KL0+D0+E0+K0+L0129++DE8Ly6Xy6Hy68y6Ly3IYP6XH> +X-REAL-FROM:caoyaoewfzfw@21cn.com +X-Receive-IP:117.74.70.41 caoyaoewfzfw@21cn.com +Message-ID: <1949803137.647691420651522436.JavaMail.hermes@yun-webmail033> +Date: Thu, 8 Jan 2015 01:25:21 +0800 (CST) +From: caoyaoewfzfw@21cn.com +To: duan@seat.com.cn, info@znuny.com, jinzh@kingdream.com +Subject: =?UTF-8?B?DQrooK3pvpXkuK3lsaTnrqHnkIbogIU=?= + =?UTF-8?B?5aaC5L2V6YG/5YWN6KeS6Imy6KGM5Li66Kqk5Yy6?= +MIME-Version: 1.0 +Content-Type: multipart/related; + boundary="----=_Part_83700_747099061.1420651521473" +HMM_WEBCLN_IP: 117.74.70.41, 59.37.128.64 +X-Priority: 3 + +------=_Part_83700_747099061.1420651521473 +Content-Type: text/html;charset=UTF-8 +Content-Transfer-Encoding: 7bit + + +------=_Part_83700_747099061.1420651521473-- diff --git a/test/fixtures/mail28.box b/test/fixtures/mail28.box new file mode 100644 index 000000000..df8d7a158 --- /dev/null +++ b/test/fixtures/mail28.box @@ -0,0 +1,313 @@ +From kontakt@example.de Wed Dec 31 17:28:35 2014 +Return-Path: +X-Original-To: info@znuny.inc +Delivered-To: znuny-sales@arber.znuny.inc +Received: from dd12528.example.com (dd12528.example.com [85.13.134.190]) + by arber.znuny.inc (Postfix) with ESMTPS id 30368602D1 + for ; Wed, 31 Dec 2014 17:28:34 +0100 (CET) +Received: from dd12528.example.com (dd0800.example.com [85.13.143.204]) + by dd12528.example.com (Postfix) with ESMTPSA id B7CAF1E8029D + for ; Wed, 31 Dec 2014 17:28:31 +0100 (CET) +MIME-Version: 1.0 +Content-Type: multipart/mixed; + boundary="=_88a51119649c12a2a2102d81688d76f4" +X-SenderIP: 92.204.95.97 +User-Agent: ALL-INKL Webmail 2.11 +Subject: Bewerbung auf Ihr Stellenangebot +From: kontakt@example.de +To: info@znuny.inc +Message-Id: <20141231162831.B7CAF1E8029D@dd12528.example.com> +Date: Wed, 31 Dec 2014 17:28:31 +0100 (CET) +X-UID: 2173 +Status: RO +Content-Length: 94301 +Lines: 1236 + + +This is a multi-part message in MIME format -- Dies ist eine mehrteilige Nachricht im MIME-Format +--=_88a51119649c12a2a2102d81688d76f4 +Content-Transfer-Encoding: base64 +Content-Type: application/pdf; + name="Znuny GmbH .pdf" +Content-Disposition: attachment; + filename="Znuny GmbH .pdf" + +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 +9+buPXEvn7vnxD3c0xMvTnCZQJ0jmXA5Eh1fcFRLtn6DxPfr0Q16l7cN1qz2hwdkxwAK7dvb6Njb +UedYLC3qL8IN61DQxDv4Vr6HT/LH+Rd5g7E3sNyxC+fFwOUAJweKy/ymHkePp4c/P3tRjnY50dr2 +1Pbcdn6bv87R2bHBYepwdHg6Xuv4Vcf7HfqBDvIY/vmf9r/o52V/nccv+5c7/Us77f1VkrXfQkz9 +ZsnUzxEstAT9HtOsiTOZBkx3mXgTtAKXqyJF5Dw5MbW7z+XqOm+Y7e1SjYF9Kjmi1vTRVd61V9Uf +UaF/777gFCF/G7rn2DHwLutSm/uCanhZqEuNICBTIIeAedlUFXhDmUzWxQZxuRAexxVc4y4kHsjk +qTDHB1eGZPCOyjAl4qICeZzg6qI8JFA9gtoHMkAXynTllah2RjPHlPMLA2wH/huMYXVRCmVuZHN0 +cmVhbQplbmRvYmoKCjYgMCBvYmoKNTUyMgplbmRvYmoKCjcgMCBvYmoKPDwvVHlwZS9Gb250RGVz +Y3JpcHRvci9Gb250TmFtZS9CQUFBQUErTGliZXJhdGlvblNlcmlmCi9GbGFncyA0Ci9Gb250QkJv +eFstNTQzIC0zMDMgMTI3OCA5ODJdL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA4OTEKL0Rlc2NlbnQg +LTIxNgovQ2FwSGVpZ2h0IDk4MQovU3RlbVYgODAKL0ZvbnRGaWxlMiA1IDAgUgo+PgplbmRvYmoK +CjggMCBvYmoKPDwvTGVuZ3RoIDI1OS9GaWx0ZXIvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeJxdkMlu +wyAQhu88Bcf0EIFpGudgIUVJLfnQRXX7ABjGLlINCOOD374saSv1APpm+Wcjl+7aGR3Iq7eyh4BH +bZSHxa5eAh5g0gZVDCstw83Kv5yFQyRq+20JMHdmtE2DyFuMLcFveHdWdoA7RF68Aq/NhHcflz7a +/ercF8xgAqaIc6xgjHWehHsWM5Cs2ncqhnXY9lHyl/C+OcAs21UZRVoFixMSvDAToIZSjpu25QiM ++hc7FcUwyk/hY2YVMymtzzwyy3ysEt8XviY+FD4kfsjMHhMfi79NXJc6LPGp+Ovc/9YpTZJO9bMh +lqv3cbt8z7xWWkgb+D25sy6p8vsGUMB92wplbmRzdHJlYW0KZW5kb2JqCgo5IDAgb2JqCjw8L1R5 +cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL0Jhc2VGb250L0JBQUFBQStMaWJlcmF0aW9uU2VyaWYK +L0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciA4Ci9XaWR0aHNbNzc3IDQ0MyA0NDMgNzc3IDUwMCAyNTAg +NTAwIDMzMyA1MDAgXQovRm9udERlc2NyaXB0b3IgNyAwIFIKL1RvVW5pY29kZSA4IDAgUgo+Pgpl +bmRvYmoKCjEwIDAgb2JqCjw8L0YxIDkgMCBSCj4+CmVuZG9iagoKMTEgMCBvYmoKPDwvRm9udCAx +MCAwIFIKL1Byb2NTZXRbL1BERi9UZXh0XQo+PgplbmRvYmoKCjEgMCBvYmoKPDwvVHlwZS9QYWdl +L1BhcmVudCA0IDAgUi9SZXNvdXJjZXMgMTEgMCBSL01lZGlhQm94WzAgMCA1OTUgODQyXS9Hcm91 +cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAyIDAgUj4+ +CmVuZG9iagoKNCAwIG9iago8PC9UeXBlL1BhZ2VzCi9SZXNvdXJjZXMgMTEgMCBSCi9NZWRpYUJv +eFsgMCAwIDU5NSA4NDIgXQovS2lkc1sgMSAwIFIgXQovQ291bnQgMT4+CmVuZG9iagoKMTIgMCBv +YmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDQgMCBSCi9PcGVuQWN0aW9uWzEgMCBSIC9YWVogbnVs +bCBudWxsIDBdCi9MYW5nKGRlLURFKQo+PgplbmRvYmoKCjEzIDAgb2JqCjw8L0NyZWF0b3I8RkVG +RjAwNTcwMDcyMDA2OTAwNzQwMDY1MDA3Mj4KL1Byb2R1Y2VyPEZFRkYwMDRDMDA2OTAwNjIwMDcy +MDA2NTAwNEYwMDY2MDA2NjAwNjkwMDYzMDA2NTAwMjAwMDM0MDAyRTAwMzM+Ci9DcmVhdGlvbkRh +dGUoRDoyMDE1MDEwODA4NDU0MSswMScwMCcpPj4KZW5kb2JqCgp4cmVmCjAgMTQKMDAwMDAwMDAw +MCA2NTUzNSBmIAowMDAwMDA2NjQ5IDAwMDAwIG4gCjAwMDAwMDAwMTkgMDAwMDAgbiAKMDAwMDAw +MDIwMSAwMDAwMCBuIAowMDAwMDA2NzkyIDAwMDAwIG4gCjAwMDAwMDAyMjEgMDAwMDAgbiAKMDAw +MDAwNTgyNyAwMDAwMCBuIAowMDAwMDA1ODQ4IDAwMDAwIG4gCjAwMDAwMDYwNDMgMDAwMDAgbiAK +MDAwMDAwNjM3MSAwMDAwMCBuIAowMDAwMDA2NTYyIDAwMDAwIG4gCjAwMDAwMDY1OTQgMDAwMDAg +biAKMDAwMDAwNjg5MSAwMDAwMCBuIAowMDAwMDA2OTg4IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6 +ZSAxNC9Sb290IDEyIDAgUgovSW5mbyAxMyAwIFIKL0lEIFsgPDg1RjZEOTY3MjVFMjU3ODRBMEY5 +RjZEQTY2NUE4NzAxPgo8ODVGNkQ5NjcyNUUyNTc4NEEwRjlGNkRBNjY1QTg3MDE+IF0KL0RvY0No +ZWNrc3VtIC8zQTdGRTU4NEI3NDZBNDdBRDQ3MDhFNUFBMUZDMTlBMAo+PgpzdGFydHhyZWYKNzE2 +MwolJUVPRgo= +--=_88a51119649c12a2a2102d81688d76f4 +Content-Transfer-Encoding: base64 +Content-Type: application/pdf; + name=Lebenslauf.pdf +Content-Disposition: attachment; + filename=Lebenslauf.pdf + +JVBERi0xLjQKJcOkw7zDtsOfCjIgMCBvYmoKPDwvTGVuZ3RoIDMgMCBSL0ZpbHRlci9GbGF0ZURl +Y29kZT4+CnN0cmVhbQp4nC2JuwoCMRRE+/sVU1vEuTEvIaQQtLBbuGAhdup2C5vG3zc+GDjM4dAp +XrKC4HhxH51HCeoK+kMuGyy/NtZnOZjENFLOwSXYHduTQj3sea3UppX+g13zf3w1MDIxN02Vpd3s +LEeTSSa8AWC5GmMKZW5kc3RyZWFtCmVuZG9iagoKMyAwIG9iagoxMTEKZW5kb2JqCgo1IDAgb2Jq +Cjw8L0xlbmd0aCA2IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoMSA5NjA4Pj4Kc3RyZWFt +Cnic5ThtcFvVlee+J0vyp6TEcmSURE95sRNXlmX75cshiV9kS3ZiJ1bsOJWSEOvZki2BLQlJdgiU +opYAWafZpNClATKQMgyb6TLDc0LZwNJiWuhOp2Wgu7QDhbTZLZ3ObMmSUvqxlNh77tWTY4cAszv7 +b6987zvf59xzzr16VjY9HoUyyAEP8tCYkqouLzUCwE8AyKKhiaywucd6I8IXAbh/GU6NjD38j/s/ +BNA9A2B4ZmT00PB/nVy2AaAsBlDcHosqkerILyUA61NoY10MCT0zhwyIv4v4ythY9rbt3LoVAFXU +x8rR5JDSXHIK+VX1iFeOKbelWnStHOIy4kJCGYsub+U6EQ8DlE6kkpksYKAAzjcpP5WOprofHnwF +8b8g/QTSCH7oKENQT3GO1xXpDUb4/zqKjoEVOos2gwlSbF0w+KegGh4CmH2PYlfXme7Zj/4vo9Dy +fxKehGfgGLwFN2kMPwQgDuNImT9egp8ilY4A7IVvw+SnmH0KziM/LxeG43Qn1x0B+Cacg39e4CUA +Y3AHxvIdeIs0wY+wVZLwATHCV+AVtPoB0nZczxRXgcswA4fnUd+GR7ijsJ2jff4Q5XAezgwvwyly +AC1ncZ/H5na86RNG74M7ce2DGEwgzEbR5o9/AcWzf8Bd3Qnb4auwFUbnabxAHuNLsH674THM6UuM +5ikwDZ38zdyzHHflAUS+DiM4FYJ7547xWz8lQ//jwfdDOanja6D4elxuDZhmPuKaZz/kV0IJ9M9e +LtBmu2b/wCszCd2AbmnRZt2PP8uH/uu6MdSG2d/M3DETKdpZ9CRW6wyA3LFvbyjYv7uvd1egZ+eO +7q7t2zo7/L72Nu9WuXXL5k03bmzZsH7d2qZGT4O7fvWq2pqV4gqnw1ZpMZsqyktLio0GfZGO5wjU +CyoJ+1S+RrD4FdEnKp3uesFni7W7632iP6wKiqDiQ1crdnYykqioQlhQa/GhzCOHVRklh6+RlPOS +8pwkMQubYBN1IQrqq+2icJ7s3RVE+Fi7GBLUSwzewWBdLUPKEXE6UYNFRaMVfKp/IjbpC2OMZKq0 +pE1si5a462GqpBTBUoTU1WJqiqzeQhjArfZtnOLAWE7d4k59SkQN7Ar62u1OZ8hdv02tENsZC9qY +SVXfphqYSSFOQ4ejwlT99OTXzpthMOwqi4gRZX9Q5RXUneR9k5P3qRaXWie2q3W3v2vDnUfVerHd +p7qo1a7eOT9dV10StajGLAqTfwTcjnjpvYUURaPoa8x/BAqqXJtKeoNOOux+zPXkpF8U/JPhSeX8 +bG5QFMzi5FRZ2WTKh+mGQBBNnJ99/qhd9X8tpJrDMbIxpG3d39ulLt61L6hyNX4hpiAF/1pF5wa7 +0zInE/g0NmBaMDmYYaeTpuHoeRkGEVFzu4J5XIBB+1mQPa6QyoUpZ7rAsfZTTq7AmVMPi1jbrr7g +pKqr2RYRfZjxo4qaG8TuupkWRjSrFX+yO8XJRRahxRNisgJGtS0SF9SiWkwSas1XwL6hKpNmhlT8 +Kf+4ZEcHtZZFQouIZqgdn+gLa38TMRsaEDDRna58I+wOqnI7ArKiVcw31ehBDSWMBYu3s2KqHjGl +VoreuerSsHzxviBT0dTUyjYVwkOalurxsXMl+CbD7fkQqC1xV/A5kGYvTq0R7OckWAOhdipc1YZd +VuubDEaGVUfYHsFzNywE7U5VDmGFQ2IwGqJthxmqu2hnzRFivbI72NUndu3aG9ygBZJnUHO6Gt81 +ZsSgPW8GG1A11hiFIGfnQyhoRoLgR0D0bsJVNdQYcZox4YxKG9e7SQgSOxSkMQy1TvBF2zU5ii8w +WkTbqa2zYE1PUbTT1ml3hpz54a7nkC1ojlHDSJPaWWDhNYUMI/ZnWycj0VzaaNMLQTEqhsSYoMqB +IN0bTQ/LspYMlnOtVrsXYPOShWkCJ7ILCE2m6nfZ5ydX7WD4HNp5DXtbgS1MGsWuvklqXNQMAka+ +TQXawvIGi53dBfRAi3j3CmY80uxAT07JMj3MsY3UiLgtMin2BTcxabxP7rTfTn0tgi7Stdvrrser +zTslkiO7pmRypG9v8Dkzvhce2R08yxGuLewNTa1EXvA5Ab80GJWjVEqkiEARaqkXESOTtz8nA+QY +V8cIDB86T4DRjAUagaHzXJ5mzjuqZY5k4JCjy3PkgrQOacY8LcdobEwBTZlcUiQb5WK5jCvn7FOE +ks4i5Xl8jy0mcK6MlBP7FGr1MvJ5kpsqlu15iRxKyPkIj/Rfdd2/N3iuDL+d7WxFR146sF1sMSw2 +fq34hAhtlC+FYpPhED1sUIWlwT+iEnELlkncgoHoy9QSMepVS0UvpbdSemuerqd0A7YoqSKonsPa +B1RCO2Bf0IlHUrjhR/ZJ8yVaqRBeKpPm37gxY+vp+wq+cS6GM3KKKy0jxFi6SGetLOVKuEDIUGIi +ZVAWCC0C63Erka1EsBKwktetRLWSX1nJCStJWUmgQN90nD0uMvYJBl9m6DRDcwXpHsYyHripMG7F +kU4fKCBpHNDa7LKAZGuV6MOyiCxpsUgWqalRWkvEFXoTEdc6rcTZvK6VSPx6TndhQ6zS4eGevfIx +Wdzy5RskT7Wb9yw23/dR08c/s1e+MvMCfQWCztn3+Fv5l8AONTAmt1qMNTU6oaysWsfjK8mKkhW7 +QjarxbI0EDJZHBaujLdYwFhSZdBhLqxgDYTAnFtFBlYReRVB4KZbaZwusLEpLWrxDBy4yWVZBC0L +YrZIGDZprrJallidq/TiCsuaLaSVrF1TK66g+1hHDBXEWik1r1tPfvrw18dnZhanp36/7fTJYx3b +I30rNjxO4O57B463DzXzL335q1fuqXYfSBPbgTu28roHlP2e8VfFmeW6ogMJ1WGj/2258C2tmn8F +mshZedZSpl+61AmrV7vdzjJeam5qCISaTKudSy1lbpc7EHKYXNZqvb64uLI3VGxehe3A1/SGePOE +RPZIZJ1EVkqkSiJ6ifxJIu9K5A2J/FAiT0jkQYkMSoQEJNIukUYmVykRnURilwuCz0gkKxFZImsY +G3kfSuRtiUxLRGU2DkskImkm8jLmgtjrEnlZIv8gkRNM7BaJ3CgRoeBjQ97BaYmEJbK74KOSab7L +NL8hkRy6l13z+Ham+y4LgFOZQIq5R68maa4fB/L9qI20Nq426wL2VYH0VfV5QtgetBWwjwtPiTU0 +HZR2tUfy3U22EKm5agldqwm2y9r1ljXiigrOkO8eimLXGDR41Von8XedkX3jy3a81n750Ez/107f +4PO1Wi3HZrxH+/uDdx+b2XPwIFnMh10b17S4vDO/u/JgtdtdzQWfMpaU69ZtLaB9oWVXqinIC9Vu +9u8CbMez8lv8X3UxLIOc3FOpK4XqarPOvNyx2BwILbaa8GIwgQEPi8FcjQrckl0hrgocpCPgILKD +NDqI4CCITztIjlHyQJjRtRRpmZuXJu000dS0sNSwvNToRcGyZpHUvKR2M8Ft0wSQyiqpeb2lVhS4 +f731mzN3/eKN0aT+UdKenfnLjCN3+Na9ofTMx/695N/+TMgS5z0f2twfPVftJq9+759Wcb+1AD0r +983+mhyCn0Ep2ORS0OvLyvniR/bxiyHvn3muxBNbu3bNOqwLOeRbs8bnlyT//qbOzibJ78c87cQ8 +ncXzVgJV8Lz8FUtRKRTBEpuxIhAymrnKACZFsBGwkYs2ErCRRhsx28hlhr5uI9M2otrIaRs5YSM5 +G0nZSNhGZBvJq9z4GCMFGKmRUc2MMV//NNPMq+F602e1buGuhWuSjJ1ndha2aaA9prfS9K7jz850 +vvHmm+/8/BfPfPneu8cPfuVwjrw9Y5n5/X9+/Oc/vPn95y/++rsvA8tlHfbAScxDJeyS3RaDgZSV +Wav0FrCYLVxFkYXnKs3m8kDIbDKUlWDrlFgHqoijishVJB8Pu+3ZRSpJeI9a6AXasqilmQVnFVet +0M9re3pCuJOujc1/0/ytGS+2+KLiTa9u4l+ZSdirrngLjTzevJ/9YwzBGT//ls4Oq/BlViaPyrP1 +Hs+SSv0NW5ZtgNXl5VArFtmX3VBZvNXLrw2ElrhcJUX2WlHHl/AlgkW4MRASzJbmQMiy9BkvOe0l +3/CSnJdkvSTiJbu9pN1L1njJSi+p9BKdl1z0kje8ZNpLUPgJJnx4oXBeErzkQy95lwm/vFA48gmb +LfNFnygIzfet+4TAnEuZyQhewpmZ28teeQWN8nUWpcq2dIJtKeUlYS9pZMILm2bgelfeJ5pr4dW4 +QHCu46ClxYbZZ2137QWY70R64lYZlhPJiV+alRUkf/7WN5C167UOXbJ+iaGKxzZ10m9O2qeked3a +Qtvyw99/ttffyneuI1UnHxj/929N/6gz3LLz0Ud/8HxN1nFBPNpW5++Y+cYX1n4p9/ffmTk3tu9A +LD4Y5u5+/EnT3Zblh7PxU/0TY2tHfIv3rz27/a2Hz5hKkq4TXR+Ptsgrk417ur7Ejd951z23pg8f +vg3Yb5scwA9+/Dw/YNr0R86R/13tJw8s67z6q8mMX19dRH9tuvqjJ+oZnDM++OJ8yoJRrG/B1j0G +63F2IuzSAWxHV/fhcyf3bajDZ5BJ3gb/wVXga+zjfC2f1T3OLBXDVvazLI3ODB7Ag8D9gP8h0ih3 +OUnM+dsz55ug5B4N5sAAwxrM4/vSmAbrUOaIBhdBBZzUYD2Y4EkNNsDt8B0NNkIl8WhwMVSQNg0u +IQmyS4NLYSn34tyvxA3c2xpcDmv5Yg2ugBv4LTR6Hf116yk+qMEEBJ1Ogzmo0K3UYB7W6Zo1WIcy +MQ0ugqW6Ixqsh+W6JzTYAB/qvq/BRlhd9KwGF8PSol9qcAn3TtFHGlwKG4w/1+Ay2F9cocHlcHPx +zRpcAWuK32iPj8Sz8dujESGiZBVhKJk6lI6PxLLC6qE6obmxqVHoSCZHRqNCWzKdSqaVbDyZaChp +u1asWehFE51Ktl7Ylhhq6I4PRvOyQl80HR/ujY6MjyrprZmhaCISTQtu4VqJa/E90XSGIs0NjY0N +TVe51wrHM4IiZNNKJDqmpG8RksMLAxHS0ZF4JhtNIzGeEPob+hqEgJKNJrKCkogIu+cUe4aH40NR +RhyKprMKCiezMQz15vF0PBOJD1FvmYa5HcxLR182OhEVdijZbDSTTHiVDPrCyHbHE8lMvXAwFh+K +CQeVjBCJZuIjCWQOHhIW6gjIVXAviURyAk1OROsx7uF0NBOLJ0aEDN2ypi1kY0qWbnosmk3Hh5TR +0UNYs7EUag1ikQ7GszF0PBbNCDujB4Xe5JiS+HZDPhTMzTAmVYiPpdLJCRajOzOUjkYT6EyJKIPx +0XgWrcWUtDKEGcO0xYcyLCOYCCGlJNy+8XQyFcVIv9jRfVUQA8xnM5McnUDPVDoRjUaoRwx7IjqK +Suh4NJm8he5nOJnGQCPZmHte5MPJRBZVk4ISieDGMVvJofExWidMc7YQnDKUTiIvNapk0cpYpiGW +zaY2ejwHDx5sULTSDGFlGtCy57N42UOpqFaPNLUyNtqN5U/Q0o2z+tJN9G3rFnpSmB8/BidoAvVC +oTWbGpo0F5jGeCqbacjERxuS6RFPj78b2iEOIzizOG+HKERAwKkgriA0BElIwSFIM6kYUgVYjdQ6 +fDZDIzThFKADpZLIH0V9AdoQTqMWXRVmNwkJaMA3u7bPtdaMUK8WRSfTrkdoG+oPoYVu1BtE7ny7 +AvQxShzvWao5AuMYh4KUrZBBrSjKRJiEAG6cn2fj8/h7GJSZ4zRjXI34acDor6f7eZbjaEtguc4y +Do11jMV/C9KSqPdZGRFQLsrql0FOlGERZpXa7keJPiYVYJo0F1nmLcGkdl/HYw96HEb9IVbLguQQ +s017Im85iXBMy+rNmPE0iyDC9Ap7y6DnT9bg+t3Rx6KbYD53MDrFM4znRTyj7Sufs90siiRSaS4O +YiTUb4zBCstnhGnTLktomoPYd8Jn+hE0XUWrS4L5mNCipDr1Wr6H2ZphfhPoQ2Dx5au80LfA8qSw +rOcrPYbcLJMdQvoofg5p52wMs5L3NaidpIPsXMa0HY8xuwLsxOdB1hVJVreEcwWr8dWs5PtmWOtU +gemmEE6yXRTy6Ga1oTuJskgppLCzP4gao8x3PrYY6w6F1Taq1TrLdlDIV0TbKY06xShu8LG+oCc+ +quX0i3hTdF/XYj6D83uT1mSUxZuZZzvBoo3M7TGfbSo1qnnK73iU3Ui3zNVnmPVbPqMRZs39KTkf +ZrnJal6TLKIIfvIVz/dWEnXHWT3y5ynfzdlPZE5h+U1qeil2L2W1WMbY+YixDkzBRny39GB09NPA ++nD+qRnSzkyDFrPnf61H40qxDM4/H+m5WMYwxm7t9CfmTt34vPNbqEQf3kHd7L5Iaf3j1zInXGOB +npprb80mdl8u3EW+G+OIZ1k8GZbLBraHEeT3oIduAO19/FPHVHFg6yCJAiExMgKLwUHCsJMMQD/Z +CpuJjE8ZeV58tiFOnw1kM+RQbjPStyC+Cek34uXpwLUVZw/O4zh1OPMSjSjhwadHw92I16PGa7gS +Nim1Fan0uR3xTnx2aE8/0n349Gn4NsTxCWFiwBfxVra+SHTyOXLxCnntChGukLv+SgJ/JbkPTnzA +/f5ynePpyy9e5nreH3j/6ff5xveJ6X1ihEvmS4FL4UupS6cv6UtM75Ey+B2x/PriBsevNl/o/+Xm +d/rhAu7sQuOFwIXcBfVC0QXC97/DVznM08J043RqOjf9+vTF6cvTxtz3TnyP++4LHofpBccLnONc +z7m7zvHhM8R0xnGGCzwSfoQ7cYqYTjlOeU7xDz/U4HioY7njmw+uclx88PKD3PnZ6XMPllv8L5Ae +0g2bMYc7z/Gzjqe3WskO3JYJVwdOD84enEmcx3Hi/z0o7sDpId3yBn7g70jp/fb7Xfffcf/R+4tS +9+buPXEvn7vnxD3c0xMvTnCZQJ0jmXA5Eh1fcFRLtn6DxPfr0Q16l7cN1qz2hwdkxwAK7dvb6Njb +UedYLC3qL8IN61DQxDv4Vr6HT/LH+Rd5g7E3sNyxC+fFwOUAJweKy/ymHkePp4c/P3tRjnY50dr2 +1Pbcdn6bv87R2bHBYepwdHg6Xuv4Vcf7HfqBDvIY/vmf9r/o52V/nccv+5c7/Us77f1VkrXfQkz9 +ZsnUzxEstAT9HtOsiTOZBkx3mXgTtAKXqyJF5Dw5MbW7z+XqOm+Y7e1SjYF9Kjmi1vTRVd61V9Uf +UaF/777gFCF/G7rn2DHwLutSm/uCanhZqEuNICBTIIeAedlUFXhDmUzWxQZxuRAexxVc4y4kHsjk +qTDHB1eGZPCOyjAl4qICeZzg6qI8JFA9gtoHMkAXynTllah2RjPHlPMLA2wH/huMYXVRCmVuZHN0 +cmVhbQplbmRvYmoKCjYgMCBvYmoKNTUyMgplbmRvYmoKCjcgMCBvYmoKPDwvVHlwZS9Gb250RGVz +Y3JpcHRvci9Gb250TmFtZS9CQUFBQUErTGliZXJhdGlvblNlcmlmCi9GbGFncyA0Ci9Gb250QkJv +eFstNTQzIC0zMDMgMTI3OCA5ODJdL0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA4OTEKL0Rlc2NlbnQg +LTIxNgovQ2FwSGVpZ2h0IDk4MQovU3RlbVYgODAKL0ZvbnRGaWxlMiA1IDAgUgo+PgplbmRvYmoK +CjggMCBvYmoKPDwvTGVuZ3RoIDI1OS9GaWx0ZXIvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeJxdkMlu +wyAQhu88Bcf0EIFpGudgIUVJLfnQRXX7ABjGLlINCOOD374saSv1APpm+Wcjl+7aGR3Iq7eyh4BH +bZSHxa5eAh5g0gZVDCstw83Kv5yFQyRq+20JMHdmtE2DyFuMLcFveHdWdoA7RF68Aq/NhHcflz7a +/ercF8xgAqaIc6xgjHWehHsWM5Cs2ncqhnXY9lHyl/C+OcAs21UZRVoFixMSvDAToIZSjpu25QiM ++hc7FcUwyk/hY2YVMymtzzwyy3ysEt8XviY+FD4kfsjMHhMfi79NXJc6LPGp+Ovc/9YpTZJO9bMh +lqv3cbt8z7xWWkgb+D25sy6p8vsGUMB92wplbmRzdHJlYW0KZW5kb2JqCgo5IDAgb2JqCjw8L1R5 +cGUvRm9udC9TdWJ0eXBlL1RydWVUeXBlL0Jhc2VGb250L0JBQUFBQStMaWJlcmF0aW9uU2VyaWYK +L0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciA4Ci9XaWR0aHNbNzc3IDQ0MyA0NDMgNzc3IDUwMCAyNTAg +NTAwIDMzMyA1MDAgXQovRm9udERlc2NyaXB0b3IgNyAwIFIKL1RvVW5pY29kZSA4IDAgUgo+Pgpl +bmRvYmoKCjEwIDAgb2JqCjw8L0YxIDkgMCBSCj4+CmVuZG9iagoKMTEgMCBvYmoKPDwvRm9udCAx +MCAwIFIKL1Byb2NTZXRbL1BERi9UZXh0XQo+PgplbmRvYmoKCjEgMCBvYmoKPDwvVHlwZS9QYWdl +L1BhcmVudCA0IDAgUi9SZXNvdXJjZXMgMTEgMCBSL01lZGlhQm94WzAgMCA1OTUgODQyXS9Hcm91 +cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAyIDAgUj4+ +CmVuZG9iagoKNCAwIG9iago8PC9UeXBlL1BhZ2VzCi9SZXNvdXJjZXMgMTEgMCBSCi9NZWRpYUJv +eFsgMCAwIDU5NSA4NDIgXQovS2lkc1sgMSAwIFIgXQovQ291bnQgMT4+CmVuZG9iagoKMTIgMCBv +YmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDQgMCBSCi9PcGVuQWN0aW9uWzEgMCBSIC9YWVogbnVs +bCBudWxsIDBdCi9MYW5nKGRlLURFKQo+PgplbmRvYmoKCjEzIDAgb2JqCjw8L0NyZWF0b3I8RkVG +RjAwNTcwMDcyMDA2OTAwNzQwMDY1MDA3Mj4KL1Byb2R1Y2VyPEZFRkYwMDRDMDA2OTAwNjIwMDcy +MDA2NTAwNEYwMDY2MDA2NjAwNjkwMDYzMDA2NTAwMjAwMDM0MDAyRTAwMzM+Ci9DcmVhdGlvbkRh +dGUoRDoyMDE1MDEwODA4NDU0MSswMScwMCcpPj4KZW5kb2JqCgp4cmVmCjAgMTQKMDAwMDAwMDAw +MCA2NTUzNSBmIAowMDAwMDA2NjQ5IDAwMDAwIG4gCjAwMDAwMDAwMTkgMDAwMDAgbiAKMDAwMDAw +MDIwMSAwMDAwMCBuIAowMDAwMDA2NzkyIDAwMDAwIG4gCjAwMDAwMDAyMjEgMDAwMDAgbiAKMDAw +MDAwNTgyNyAwMDAwMCBuIAowMDAwMDA1ODQ4IDAwMDAwIG4gCjAwMDAwMDYwNDMgMDAwMDAgbiAK +MDAwMDAwNjM3MSAwMDAwMCBuIAowMDAwMDA2NTYyIDAwMDAwIG4gCjAwMDAwMDY1OTQgMDAwMDAg +biAKMDAwMDAwNjg5MSAwMDAwMCBuIAowMDAwMDA2OTg4IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6 +ZSAxNC9Sb290IDEyIDAgUgovSW5mbyAxMyAwIFIKL0lEIFsgPDg1RjZEOTY3MjVFMjU3ODRBMEY5 +RjZEQTY2NUE4NzAxPgo8ODVGNkQ5NjcyNUUyNTc4NEEwRjlGNkRBNjY1QTg3MDE+IF0KL0RvY0No +ZWNrc3VtIC8zQTdGRTU4NEI3NDZBNDdBRDQ3MDhFNUFBMUZDMTlBMAo+PgpzdGFydHhyZWYKNzE2 +MwolJUVPRgo= +--=_88a51119649c12a2a2102d81688d76f4-- + diff --git a/test/unit/email_parser_test.rb b/test/unit/email_parser_test.rb index c9da7156b..5a5a23949 100644 --- a/test/unit/email_parser_test.rb +++ b/test/unit/email_parser_test.rb @@ -563,6 +563,46 @@ gate GmbH * Gladbacher Str. 74 * 40219 Düsseldorf }, ], }, + { + :data => IO.read('test/fixtures/mail27.box'), + :body_md5 => 'e1c06d85ae7b8b032bef47e42e4c08f9', + :params => { + :from => 'caoyaoewfzfw@21cn.com', + :from_email => 'caoyaoewfzfw@21cn.com', + :from_display_name => "", + :subject => "\r\n蠭龕中層管理者如何避免角色行为誤区", + :to => 'duan@seat.com.cn, info@znuny.com, jinzh@kingdream.com', + :body => "\n\n", + }, + :attachments => [ + { + :md5 => '498b8ae7b26033af1a08f85644d6695c', + :filename => 'message.html', + }, + ], + }, + { + :data => IO.read('test/fixtures/mail28.box'), + :body_md5 => '5872ddcdfdf6bfe40f36cd0408fca667', + :params => { + :from => 'kontakt@example.de', + :from_email => 'kontakt@example.de', + :from_display_name => "", + :subject => "Bewerbung auf Ihr Stellenangebot", + :to => 'info@znuny.inc', + :body => "no visible content", + }, + :attachments => [ + { + :md5 => '6605d016bda980cdc65fb72d232e4df9', + :filename => 'Znuny GmbH .pdf', + }, + { + :md5 => '6729bc7cbe44fc967a9d953c4af114b7', + :filename => 'Lebenslauf.pdf', + }, + ], + }, ] files.each { |file|