From 4d42c54bf1e8773eeea878a1e9ce596272f4f3f1 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Mon, 7 Nov 2016 23:20:58 +0100 Subject: [PATCH] Fixed issue#345 - IMAP mail fetching stops working on spam mail and invalid email format. Scheduler will now keep running and store failed mail under tmp/unprocessable_mail/. --- app/models/channel/driver/imap.rb | 7 +- app/models/channel/driver/pop3.rb | 7 +- app/models/channel/email_parser.rb | 14 +- test/fixtures/mail44.box | 336 +++++++++++++++++++++++++++++ test/unit/email_parser_test.rb | 12 ++ test/unit/email_process_test.rb | 20 +- 6 files changed, 385 insertions(+), 11 deletions(-) create mode 100644 test/fixtures/mail44.box diff --git a/app/models/channel/driver/imap.rb b/app/models/channel/driver/imap.rb index e2afe5a0e..b654ad311 100644 --- a/app/models/channel/driver/imap.rb +++ b/app/models/channel/driver/imap.rb @@ -183,10 +183,9 @@ example # delete email from server after article was created msg = @imap.fetch(message_id, 'RFC822')[0].attr['RFC822'] next if !msg - if process(channel, msg) - @imap.store(message_id, '+FLAGS', [:Deleted]) - count_fetched += 1 - end + process(channel, msg, false) + @imap.store(message_id, '+FLAGS', [:Deleted]) + count_fetched += 1 end @imap.expunge() disconnect diff --git a/app/models/channel/driver/pop3.rb b/app/models/channel/driver/pop3.rb index 4af6d3901..5eb9f58b3 100644 --- a/app/models/channel/driver/pop3.rb +++ b/app/models/channel/driver/pop3.rb @@ -145,10 +145,9 @@ returns end # delete email from server after article was created - if process(channel, m.pop) - m.delete - count_fetched += 1 - end + process(channel, m.pop, false) + m.delete + count_fetched += 1 end disconnect if count.zero? diff --git a/app/models/channel/email_parser.rb b/app/models/channel/email_parser.rb index 028b8cdc9..7f80d5ede 100644 --- a/app/models/channel/email_parser.rb +++ b/app/models/channel/email_parser.rb @@ -364,13 +364,22 @@ class Channel::EmailParser parser = Channel::EmailParser.new ticket, article, user = parser.process(channel, email_raw_string) -retrns +returns [ticket, article, user] +do not raise an exception - e. g. if used by scheduler + + parser = Channel::EmailParser.new + ticket, article, user = parser.process(channel, email_raw_string, fakse) + +returns + + [ticket, article, user] || false + =end - def process(channel, msg) + def process(channel, msg, exception = true) _process(channel, msg) rescue => e @@ -388,6 +397,7 @@ retrns File.open(filename, 'wb') { |file| file.write msg } + return false if exception == false raise e.inspect + e.backtrace.inspect end diff --git a/test/fixtures/mail44.box b/test/fixtures/mail44.box new file mode 100644 index 000000000..155eb7b67 --- /dev/null +++ b/test/fixtures/mail44.box @@ -0,0 +1,336 @@ +Return-Path: +Delivered-To: support@domain.de +Received: from localhost (unknown [1.2.3.4]) + by mail.domain.com (Postfix) with ESMTP id 03C7C4D8103 + for ; Wed, 2 Nov 2016 01:33:22 +0100 (CET) +Received: from mail.domain.com ([1.2.3.4]) + by localhost (domain.com [1.2.3.4]) (amavisd-maia, port 10024) + with ESMTP id 19269-07 for ; + Wed, 2 Nov 2016 01:33:11 +0100 (CET) +Received: from yahoo.com. (unknown [106.6.98.128]) + by mail.domain.com (Postfix) with ESMTP id 6E6634D8102 + for ; Wed, 2 Nov 2016 01:33:08 +0100 (CET) +From: "Clement.Si" +Subject: =?GB2312?B?vqvS5sn6svrJwbvpLMrHy621xNTwyM4=?= +To: abuse@domain.com +Content-Type: text/plain;charset="GB2312" +Date: Wed, 2 Nov 2016 08:33:12 +0800 +X-Priority: 3 +X-Mailer: Foxmail 4.1 [cn] +Message-Id: <20161102003309.6E6634D8102@mail.domain.com> +X-DSPAM-Result: Spam +X-DSPAM-Processed: Wed Nov 2 01:33:20 2016 +X-DSPAM-Confidence: 0.9625 +X-DSPAM-Probability: 1.0000 +X-DSPAM-Signature: 58193450197451094618578 +X-Virus-Scanned: Maia Mailguard 1.0.4 +X-Spam-Status: No, hits=7.857 tagged_above=0 required=999 + tests=FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, + FSL_HELO_FAKE=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, + RCVD_IN_BRBL_LASTEXT=1.644, RCVD_IN_PBL=3.558, RCVD_IN_XBL=0.724, + RDNS_NONE=1.274, SPF_HELO_NEUTRAL=0.001, SPF_NEUTRAL=0.652 +X-Spam-Level: ******* + + + + 标杆考察-丰田精益生产考察研修班(广州) + + ——中国精益生产第一课 + ——中国独家推出:工业4.0下的精益体系构建 + + + 2016年11月16-18日(第119期) 2016年12月21-23日(第120期) + +================================================================================== +研修背景: +中国企业自2004年已经进入了微利时代; +传统制造无法适应:多品种、小批量、短交期; +制造业如何面对工业4.0,中国制造2025? +走进丰田精益生产考察研修,所见即所得,引领制造变革。 + +研修目的: +系统掌握原汁原味的丰田TPS、TW精髓; +通过理论与实践相结合的研修找到适合自己企业的低成本策略; +工业4.0大趋势下,制造业对精益化、信息化、自働化、智能化的正确把握。 + +参加对象: +董事长、总经理、副总、厂长、生产管理、供应链管理、仓储管理、物流管理、采购管理、等 +生产制造管理相关职位 + +研修特色 : +精益样板工厂参观 + 在职高管分享交流 + 专家点评专题课程 + 学员企业现场诊断 + +标杆企业背景: +【成立时间】2004年9月1日 +【地 址】广州市南沙区 +【面 积】占地面积187万m2 建筑面积44万m + 广汽丰田秉承丰田数十年汽车制造之精义,引进全球最先进的生产设备和工艺,以建设“ +丰田全球模范工厂”为目标,将JIT应用于公司的整个生产经营过程,实践丰田管理方式,打 +造以人为本的工作环境,培养能够实践丰田管理方式的人才。在生产管理上,更精心营造人与 +人之间的和谐氛围,用心构筑最具人性化的工厂,充分发挥人与科技完美结合的优势,真正实 +现对科技的突破。 + +过往典型学员: + +派出学员超过100人以上的企业: +美的集团、山东蔚蓝集团、深圳豪鹏集团、惠州华阳电子…… + +派出学员超过50人以上的企业: +云南红塔集团、南车集团、北车集团、宁波经信委(宁波地区的企业家)、金华经信委、伊利集 +团、欧派集团、华润集团、丹姿集团、自生电力、中国移动(广东)、齐心文具、中粮集团…… + +派出学员超过20人以上的企业: +蒙牛、光明、许继集团、民生银行、美涂士、嘉宝莉、普利斯通、保定烟厂、常德卷烟机械厂、 +深圳赛尔康、华美居家具、南方电力、蒂森克虏伯、格力电器、正泰集团、真功夫、伊维柯汽车 +、昭信集团、益达纺织、康捷塑胶、延锋伟世通、欧浦钢铁、浙江利欧集团、邦泽电子、温州经 +信局…… + +派出学员超过5人以上的企业: +中兴通讯、东风本田、上汽通用、奔驰汽车、众泰汽车、华晨宝马、杜邦、比亚迪、安利、神 +华集团、TCL、南孚电池、哈飞、西安杨森、中电集团、新明珠陶瓷、松发陶瓷、威的电子、环 +球石材、浙江新宇、深圳裕同集团、风行牛奶、三菱重工、清远先导、奥飞动漫、赛宝认证、 +大富集团、华润怡宝、理想工业、德邦物流、四川永祥、山东六和、山东康地恩、浙江科龙、 +中山林立、海斯坦普、华瑞汽车、欧普照明、世达密封、张家港浦项钢铁、洛阳轴承、大陆汽 +车、南孚电池、俊业家具、南京造币公司、恒丰泰纺织、明珠电器、迪森锅炉、上汽通用五菱 +汽车、成都京东方、浙江青莲食品、江苏丹阳食品、青岛颐和烟草、西安环球印务、日出东方 +太阳能、南海科日超声…… + +派出1-5名学员的企业不胜枚举…… +组团学精益,已成企业常态! +================================================================================== +内容和行程安排 + +第一天上午 + +第一部分:专家授课、精益导入(宋传承老师) + +第一章 精益生产的本质及发展 +精益生产的起源和发展 +世界危机的根源——缺德 世界制造业生产运营管理系统的发展与变革 +精益生产的起源——丰田生产方式 世界经济的发展与精益生产的发展 +中国企业精益转型的必要性 观看影片—无止境的改善丰田生产方式 +精益生产的本质 +什么是生产运营管理系统 +精益生产的实质——高效、简单的生产运营管理系统+精益文化体系 +TPS之屋,丰田生产方式体系 +丰田生产方式的软件核心要素 +丰田生产方式的硬件核心要素 +理解丰田生产方式的两大支柱—JIT和自働化 +理解丰田生产方式的改善之道—七大浪费 + +第二章 精益生产成功的根源 +日本企业持续发展的根本原因 精益生产为什么在中国难成功的原因分析 +中国企业精益生产成功的根本因素 丰田总装现场与销售TPS体现分享与说明 + + +第一天下午 + +第二部分:标杆企业现场参观考察 + + 1、参观广汽丰田 (丰田21世纪海外模范工厂) +看点: +◆以人为本的工作环境,三位一体的品质体系; +◆Kanban(看板)在销售→生产→采购整个流程中的运用; +◆完全平准化混流的拉动式高柔性生产线; +◆世界顶尖的目视化管理; +◆先进的SPS(单台供件)物流模式。 + +2、参观广汽丰田第一店(丰田全球超高效率经销店) +看点: +◆精益思想在销售、售后服务、维修中的应用体现; +◆行业最先进的硬件设备及管理系统; +◆全球首块销售SPM看板、售后CS看板; +◆全国首条售后钣喷车间流水线作业方式。 + + +第一天晚上 + +第三部分:课程及交流:丰田精益文化及案例(中国独家)(丰田在职高管) + +丰田为什么强大? +丰田生产方式(TPS)两大支柱:JIT、自働化案例详解 +丰田独特的企业文化:TOYOTA WAY(丰田之道) +丰田会议文化 丰田安全文化 丰田“三现”文化 +丰田的人性化关怀 丰田持续改善的操作方 深度对话交流 + + +第二天上午 + +第四部分:精益精髓、专家授课(宋传承老师) + +第三章 企业降低成本的根本原理 +企业降低成本的方法论 案例分析,冷凝器厂的成本降低方法 +降低成本与精益生产的关系 降低成本的根本原理 + +第四章 精益推行一二三四五 +精益生产的五大原则 +全面认识价值 分析价值流 全面理解流动 +按客户需求拉动 持续改善 +精益生产的收益 +丰田与通用数据对比 开展精益前后各项指标对比 + +第五章 精益生产实施要点 +工厂实例分析 +精益生产实施第一步:运用VSM画出价值流明确价值 +精益生产实施第二步:流动 +流动第1步:整流化生产 +一个流的实施方法和要点 节拍、标准化生产的要点 +流动第2步:实施基础-平准化排产 +平准化生产,精益生产计划排程方法 +案例分析:丰田的一次起死回生的经历 +案例分析:丰田的生产现场,与丰田的生产计划排程方法 + + +第二天下午 + +流动第3步:做好流动的前期准备——安定化生产 +快速切换SMED 安定的设备——TPM +安定的品质——自働化 人才培养——多能工和改善队伍 +合适的薪酬制度与激励机制 +精益生产实施第三步:拉动式生产 +如何建立库存拉动、看板生产体系 +观看影片《丰田的库存拉动》理解库存拉动模式 +案例分享:丰田的看板运用 +实施JIT的要点 +刚好及时的物流方式和形态 +精益生产实施第四步:实现到供应商拉动 +精益生产实施第五步:精益供应链四原则 +案例分享:丰田纺织的快速切换改善 +通过某汽车零部件加工企业的精益生产推行的成功分享 +组建精益团队 +建立畅流化的生产方式 +建立标准化作业的过程 +建立精益持续改善的管理架构 +目视化管理水平提升 +精益改善成果 +Q&A:学员提问及问题解答 + + +第二天晚上 + +第五部分 精益精髓、专家授课(黄得华老师) + +第六章 TPM-如何提升设备效率 +企业生产运营-投入/产出 +生产效率化改善 +生产效率化改善的定义与目的 产效率的两大基本思路-量/质 +提高生生产效率化的改善方向-提高生产量和减少投入量的活动/提高产品品质活动 +改善项目与期待效果的对应关系 +影响生产效率的16大LOSS +损耗定义 妨碍生产效率化的16大损失 3 16大损失(LOSS)关系和结构 +综合生产效率 +综合生产效率 人的效率 设备综合效率 材料效率 能源效率 +设备综合效率 +设备损失结构分析图 如何努力消除六大损失 +改善综合设备效率的方法 损失分析检查表 +案例研究-如何计算综合设备效率OEE +生产效率化推进步骤 + 减少设备七大LOSS + 提高设备综合效率 +提高劳动生产性 +实施1:油沟阀座机刀套固定方式不好-改善前/改善后 +实施2:抛光机治具通用性差-改善前/改善后 +实施3:内研磨BP面结构不完善-改善前/改善后 +制造成本低减活动推进 设备投资低减活动推进 +推进昼休无人运转 夜间无人化的推进 +案例:钎焊机燃烧气体流量控制改善项目 + + +第六部分 前沿精益(王圣亮老师) + +第六章 工业4.0下的精益体系构建 +1、什么是工业4.0 +2、精益生产的十大招数 +4、工业4.0与精益生产的关系 +5、工业4.0下的精益体系构建的5大要点 +6、案例分析、讨论 + + +第三天全天 + +第七部分:学员企业现场诊断(宋传承、黄得华老师) + +A.方案学员企业(NO1.0NO2.3NO3.5竞标)诊断: +(无需费用,有意向企业请提前与我们联系) +1、集体坐大巴去学员企业 +2、学员企业整体介绍 +3、老师讲解诊断流程 +4、在老师带领下到企业现场参观诊断 +5、学员讨论交流、改善方案发表 +6、老师总结陈述,并做出诊断意见及结果 +B. 方案(学员企业准备不充分时)案例深度交流: + 1、个案汇集与描述; 2、深度交流与研讨。 +=================================================================================== +导师介绍:老师介绍: +(一)宋传承 +精益管理高级研究员; +首席精益管理专家; +中国少壮派精益生产实战专家; +华南理工大学实践教学导师。 + +就业背景: +曾任职广汽集团乘用车(传祺汽车): +参与新工厂规划,layout设计,物流规划负责人,进行工厂规划,并研究各大汽车厂生产方式 +及物流模式; +精益物流规划、仓库布局设计负责人,结合生产方式建立面积最优化、最高效的布局,物流面 +积比其他相同产能汽车厂低减50%; +AGV无人搬运系统导入负责人,SPS物流方式建立导入,建立部分线的SPS物流方式,提搞生产效 +率15%,线边面积低减30%,目视化及管理水平提升; +物流流程体系及标准作业体系负责人,建立作业标准体系,比其他相同产能汽车厂物流成本低 +30%; +曾任丰田电装TPS主任:创造了电装公司历史上的精益改善奇迹。负责电装公司及供应商丰田生 +产方式(TPS)的推行,看板拉动式生产方式的构建,省人化项目推进,工场工数管理体制建立及 +推进,生产、生管每月需求人员计划的监控及调整;L/T短缩活动推进,仓库物流布局及改善活 +动推进,EF(效率工厂)活动五年规划与推行。 + + +(二)黄得华 +精益管理高级研究员; +首席设备管理专家; +HTPM系统理论创立者/节能降耗 资深专家; +精益生产项目专家、高级培训师、TTT授证培训师; + +就业背景: +曾任职世界知名制造企业-松下电器14年,并赴日本松下总部学习企业生产革新,主推设备TPM +革新,在现场设备管理实务和培训工作中获得丰富的经验并屡创佳绩; +拥有十多年著名外资企业生产、技术、保全中高层管理经验。其开发的《节能降耗》课程,为目 +前中国精益咨询与培训界畅销课程。其丰富的项目案例及实操方法,为企业节能降耗提供了思路 +与方向; +8年TPM设备保全咨询服务经验,亲自辅导过企业设备TPM活动、改良改善课题超过50个,受到企 +业各层次人员的广泛认可和敬重!长期从事自动化设备管理、国产化备品推进工作;熟悉设备的 +控制原理、结构功能、设备维修保养过程中稳定性操作技巧;以及防止再发故障、判定方法和提 +升生产效率方法。同时对不同设备的维护所产生的损失成本管理,具有独特、实效的手法和实践 +经验; +建立了系统的专业知识体系和管理方法论体系,能熟练运用工业工程、价值工程、统计技术和现 +场改善手法能快速有效地分析和解决问题,理性、系统、专业又极具创造性思维,深受客户和专 +业人士好评。 + + +(三)王圣亮 +智慧工厂设计中心主任 +首席精益信息化专家 智慧工厂系统架构师 +香港国际商学院客座教授 +原广东达美新材料公司董事副总经理兼战略顾问 +原兴达货架有限公司总经理 + +就业背景: +王老师拥有十年制造业工作经验,七年精益生产咨询及工厂信息化经验。曾师从日本精益大师, +连续五年跟随,系统学习精益生产现场咨询辅导,并多次赴日专项进修TPS。首度提出工业4.0的 +精益信息化解决方案:C4TA工业动态管理系统,震惊业内,引领行业发展; +为中车集团(原南车、北车)、海尔、美的、三菱重工等数十家500强企业做精益信息化系统设计 +及实施。 +==================================================================================== +【研修费用】:人民币6880元/人,费用包含:培训费、组织费、交流座谈、资料费、餐费。往 + 返交通及住宿费自理。 +【上课地点】:广州天河区天河路603号 莱福.广武酒店(地铁三号线天河岗顶站A出口) + 如需我方代订住房,请提前告知.标准双人间358元/晚(广交期间除外) +【培训证书】:报到时请提交大一寸彩色照片2张,课程结束后颁发学习证书 +==================================================================================== +您可信赖的合作伙伴: +------------------------------------------ +励源企业顾问有限公司 + +华东地区专线:021-5109,9475 +广东地区专线:020-3998,2321 +QQ互动:1925139040 + diff --git a/test/unit/email_parser_test.rb b/test/unit/email_parser_test.rb index 144401f3d..97d868018 100644 --- a/test/unit/email_parser_test.rb +++ b/test/unit/email_parser_test.rb @@ -675,6 +675,18 @@ end 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)", }, }, + { + data: IO.binread('test/fixtures/mail44.box'), + body_md5: '2f0f5a21e4393c174d4670a188fc5548', + params: { + from: '"Clement.Si" ', + from_email: '"Clement.Si" ', + from_display_name: '', + subject: '绮剧泭鐢熶骇闂,鏄皝鐨勮矗浠', + to: 'abuse@domain.com', + cc: nil, + }, + }, ] count = 0 diff --git a/test/unit/email_process_test.rb b/test/unit/email_process_test.rb index ebc3a59a9..e4914a4e5 100644 --- a/test/unit/email_process_test.rb +++ b/test/unit/email_process_test.rb @@ -1997,6 +1997,24 @@ Some Text', }, }, }, + { + data: IO.binread('test/fixtures/mail43.box'), + success: true, + result: { + 0 => { + priority: '2 normal', + title: 'Kontakte', + }, + 1 => { + sender: 'Customer', + type: 'email', + }, + }, + }, + { + data: IO.binread('test/fixtures/mail44.box'), + success: false, + }, ] process(files) end @@ -2158,7 +2176,7 @@ Some Text', def process(files) files.each { |file| - result = Channel::EmailParser.new.process(file[:channel]||{}, file[:data]) + result = Channel::EmailParser.new.process(file[:channel]||{}, file[:data], false) if file[:success] if result && result.class == Array && result[1] assert( true )