From 62fbd3b832ddb0a0c07e223fe9985d3e600f99da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lecour?= Date: Thu, 31 Dec 2020 15:33:35 +0100 Subject: [PATCH] Ajout de tests pour l'import des mails --- app/services/email_importer.rb | 7 +- test/fixtures/files/cron_headers.eml | 29 + test/fixtures/files/cron_not.eml | 25 + test/fixtures/files/cron_subject.eml | 25 + test/fixtures/files/delivered_to_multiple.eml | 30 + test/fixtures/files/delivered_to_single.eml | 296 ++++++++ test/fixtures/files/html_only_base64.eml | 270 +++++++ test/fixtures/files/html_only_multipart.eml | 710 ++++++++++++++++++ test/services/email_importer_test.rb | 54 +- 9 files changed, 1437 insertions(+), 9 deletions(-) create mode 100644 test/fixtures/files/cron_headers.eml create mode 100644 test/fixtures/files/cron_not.eml create mode 100644 test/fixtures/files/cron_subject.eml create mode 100644 test/fixtures/files/delivered_to_multiple.eml create mode 100644 test/fixtures/files/delivered_to_single.eml create mode 100644 test/fixtures/files/html_only_base64.eml create mode 100644 test/fixtures/files/html_only_multipart.eml diff --git a/app/services/email_importer.rb b/app/services/email_importer.rb index c91d157..3253d58 100644 --- a/app/services/email_importer.rb +++ b/app/services/email_importer.rb @@ -26,8 +26,11 @@ class EmailImporter end def delivered_to(mail) - if mail.header["Delivered-To"] - mail.header["Delivered-To"] + header = mail.header["Delivered-To"] + if header.respond_to?(:map) + header.map(&:value) + elsif header.respond_to?(:value) + header.value else mail.to end diff --git a/test/fixtures/files/cron_headers.eml b/test/fixtures/files/cron_headers.eml new file mode 100644 index 0000000..04078c3 --- /dev/null +++ b/test/fixtures/files/cron_headers.eml @@ -0,0 +1,29 @@ +Return-Path: +X-Original-To: equipe@evolix.net +Delivered-To: equipe@evolix.net +Received: by pele.evolix.net (Postfix, from userid 1000) + id 8B3187F5D3; Sat, 12 Sep 2020 06:43:04 +0200 (CEST) +X-Original-To: alert3@evolix.fr +Delivered-To: alert3@evolix.fr +Received: from tyredating-yepgarage-singapore-adm01.evolix.net (ec2-54-251-151-125.ap-southeast-1.compute.amazonaws.com [54.251.151.125]) + by pele.evolix.net (Postfix) with ESMTP id 657387F46C + for ; Sat, 12 Sep 2020 06:43:04 +0200 (CEST) +Received: by tyredating-yepgarage-singapore-adm01.evolix.net (Postfix) + id A57B163657; Sat, 12 Sep 2020 06:43:02 +0200 (CEST) +Delivered-To: root@tyredating-yepgarage-singapore-adm01.evolix.net +Received: by tyredating-yepgarage-singapore-adm01.evolix.net (Postfix, from userid 0) + id 9E4AC63644; Sat, 12 Sep 2020 06:43:02 +0200 (CEST) +From: root@tyredating-yepgarage-singapore-adm01.evolix.net (Cron Daemon) +To: root@tyredating-yepgarage-singapore-adm01.evolix.net +Subject: dummy subject +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +X-Cron-Env: +X-Cron-Env: +X-Cron-Env: +X-Cron-Env: +Message-Id: <20200912044302.9E4AC63644@tyredating-yepgarage-singapore-adm01.evolix.net> +Date: Sat, 12 Sep 2020 06:43:02 +0200 (CEST) + +run-parts: /etc/cron.daily/zzz_evobackup exited because of uncaught signal 9 diff --git a/test/fixtures/files/cron_not.eml b/test/fixtures/files/cron_not.eml new file mode 100644 index 0000000..1e2fbdf --- /dev/null +++ b/test/fixtures/files/cron_not.eml @@ -0,0 +1,25 @@ +Return-Path: +X-Original-To: equipe@evolix.net +Delivered-To: equipe@evolix.net +Received: by pele.evolix.net (Postfix, from userid 1000) + id 8B3187F5D3; Sat, 12 Sep 2020 06:43:04 +0200 (CEST) +X-Original-To: alert3@evolix.fr +Delivered-To: alert3@evolix.fr +Received: from tyredating-yepgarage-singapore-adm01.evolix.net (ec2-54-251-151-125.ap-southeast-1.compute.amazonaws.com [54.251.151.125]) + by pele.evolix.net (Postfix) with ESMTP id 657387F46C + for ; Sat, 12 Sep 2020 06:43:04 +0200 (CEST) +Received: by tyredating-yepgarage-singapore-adm01.evolix.net (Postfix) + id A57B163657; Sat, 12 Sep 2020 06:43:02 +0200 (CEST) +Delivered-To: root@tyredating-yepgarage-singapore-adm01.evolix.net +Received: by tyredating-yepgarage-singapore-adm01.evolix.net (Postfix, from userid 0) + id 9E4AC63644; Sat, 12 Sep 2020 06:43:02 +0200 (CEST) +From: root@tyredating-yepgarage-singapore-adm01.evolix.net (Cron Daemon) +To: root@tyredating-yepgarage-singapore-adm01.evolix.net +Subject: dummy subject +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Message-Id: <20200912044302.9E4AC63644@tyredating-yepgarage-singapore-adm01.evolix.net> +Date: Sat, 12 Sep 2020 06:43:02 +0200 (CEST) + +dummy body diff --git a/test/fixtures/files/cron_subject.eml b/test/fixtures/files/cron_subject.eml new file mode 100644 index 0000000..f03583b --- /dev/null +++ b/test/fixtures/files/cron_subject.eml @@ -0,0 +1,25 @@ +Return-Path: +X-Original-To: equipe@evolix.net +Delivered-To: equipe@evolix.net +Received: by pele.evolix.net (Postfix, from userid 1000) + id 8B3187F5D3; Sat, 12 Sep 2020 06:43:04 +0200 (CEST) +X-Original-To: alert3@evolix.fr +Delivered-To: alert3@evolix.fr +Received: from tyredating-yepgarage-singapore-adm01.evolix.net (ec2-54-251-151-125.ap-southeast-1.compute.amazonaws.com [54.251.151.125]) + by pele.evolix.net (Postfix) with ESMTP id 657387F46C + for ; Sat, 12 Sep 2020 06:43:04 +0200 (CEST) +Received: by tyredating-yepgarage-singapore-adm01.evolix.net (Postfix) + id A57B163657; Sat, 12 Sep 2020 06:43:02 +0200 (CEST) +Delivered-To: root@tyredating-yepgarage-singapore-adm01.evolix.net +Received: by tyredating-yepgarage-singapore-adm01.evolix.net (Postfix, from userid 0) + id 9E4AC63644; Sat, 12 Sep 2020 06:43:02 +0200 (CEST) +From: root@tyredating-yepgarage-singapore-adm01.evolix.net (Cron Daemon) +To: root@tyredating-yepgarage-singapore-adm01.evolix.net +Subject: Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) (failed) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Message-Id: <20200912044302.9E4AC63644@tyredating-yepgarage-singapore-adm01.evolix.net> +Date: Sat, 12 Sep 2020 06:43:02 +0200 (CEST) + +run-parts: /etc/cron.daily/zzz_evobackup exited because of uncaught signal 9 diff --git a/test/fixtures/files/delivered_to_multiple.eml b/test/fixtures/files/delivered_to_multiple.eml new file mode 100644 index 0000000..8feaf0a --- /dev/null +++ b/test/fixtures/files/delivered_to_multiple.eml @@ -0,0 +1,30 @@ +Return-Path: +X-Original-To: equipe@evolix.net +Delivered-To: equipe@evolix.net +Received: by pele.evolix.net (Postfix, from userid 1000) + id 1A25A7F5D8; Sat, 5 Sep 2020 04:29:46 +0200 (CEST) +X-Original-To: alert3@evolix.fr +Delivered-To: alert3@evolix.fr +Received: from stratis-www01.evolix.net (failover01.stratis-www01.evolix.eu [94.23.123.135]) + by pele.evolix.net (Postfix) with ESMTP id 0C4857F5B7 + for ; Sat, 5 Sep 2020 04:29:46 +0200 (CEST) +Received: by stratis-www01.evolix.net (Postfix) + id E53EC1FE8A; Sat, 5 Sep 2020 04:29:45 +0200 (CEST) +Delivered-To: root@stratis-www01.evolix.net +Received: by stratis-www01.evolix.net (Postfix, from userid 0) + id DC0BC1FE89; Sat, 5 Sep 2020 04:29:45 +0200 (CEST) +From: root@stratis-www01.evolix.net (Cron Daemon) +To: root@stratis-www01.evolix.net +Subject: Cron test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ) +Content-Type: text/plain; charset=UTF-8 +X-Cron-Env: +X-Cron-Env: +X-Cron-Env: +X-Cron-Env: +Message-Id: <20200905022945.DC0BC1FE89@stratis-www01.evolix.net> +Date: Sat, 5 Sep 2020 04:29:45 +0200 (CEST) + +/etc/cron.daily/logrotate: +gzip: stdin: file size changed while zipping +/etc/cron.daily/zzz_evobackup: +-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly. diff --git a/test/fixtures/files/delivered_to_single.eml b/test/fixtures/files/delivered_to_single.eml new file mode 100644 index 0000000..3cad533 --- /dev/null +++ b/test/fixtures/files/delivered_to_single.eml @@ -0,0 +1,296 @@ +Return-Path: +X-Original-To: equipe+lpoujol@evolix.fr +Delivered-To: equipe+lpoujol@evolix.fr +Received: from smtpi.msn.com (co1gmehub03.msn.com [65.55.52.231]) + by pele.evolix.net (Postfix) with ESMTPS id E26007F8FC; + Tue, 12 May 2020 11:55:00 +0200 (CEST) +X-Mailer: Microsoft Avondale Mailer +X-SRX: 1500300887 +Thread-Topic: =?iso-8859-1?Q?SRX1500300887ID_-_=5BEXTERNE=5D_Re:_Probl=E8me_de_remise_d?= + =?iso-8859-1?Q?es_messages_signal=E9_dans_Outlook.com_SRX1500300887ID$?= +thread-index: AdYoQ2Kuuy6GyqvPQtuNIVCto8rMwQ== +From: Hotmail Sender Support + +To: ludovic poujol +CC: +Subject: =?iso-8859-1?Q?RE:_SRX1500300887ID_-_=5BEXTERNE=5D_Re:_Probl=E8me_de_remi?= + =?iso-8859-1?Q?se_des_messages_signal=E9_dans_Outlook.com_SRX1500300887ID$?= +Date: Tue, 12 May 2020 03:54:53 -0600 +Message-ID: <97BD692073A84E54B04BC74EA66C9B1B@partners.extranet.microsoft.com> +MIME-Version: 1.0 +Content-Type: multipart/alternative; + boundary="----=_NextPart_000_E9B38D_01D62811.181431A0" +Content-Class: urn:content-classes:message +Importance: normal +Priority: normal +X-MimeOLE: Produced By Microsoft MimeOLE V6.3.9600.19678 +X-OriginalArrivalTime: 12 May 2020 09:54:53.0944 (UTC) FILETIME=[62CB9F80:01D62843] + +------=_NextPart_000_E9B38D_01D62811.181431A0 +Content-Type: text/plain; charset="iso-8859-1" +Content-Transfer-Encoding: quoted-printable + + =20 + +Hello, + +My name is Somashekhar and I work with the Outlook.com Deliverability +Support Team. + +=20 + +We have implemented mitigation for your IP (31.170.8.119) and this +process may take 24 - 48 hours to replicate completely throughout our +system. + +Sincerely, + +=20 + +Somashekhar + +Outlook.com Deliverability Support. + + + _____ =20 + + + +--- Original Message --- +From : "Ludovic Poujol"=20 +Sent : Tuesday, May 12, 2020 8:48:16 AM UTC +To : +"WINLV.EDFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.EM@css.one.microsoft.com"=20 +Cc : "equipe@evolix.fr"=20 +Subject : [EXTERNE] Re: Probl=E8me de remise des messages signal=E9 dans +Outlook.com SRX1500300887ID$ + +Bonjour, + +On 2020-05-05 15:48, +WINLV.EDFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.EM@css.one.microsoft.com +wrote: +> Ne peut pas =EAtre d=E9bloqu=E9 +> 31.170.8.119/32 +> Notre investigation a d=E9termin=E9 que les adresses IP ci-dessus ne +> peuvent pas =EAtre d=E9bloqu=E9es. + +Merci pour ce retour. N=E9anmoins, pouvez-vous nous expliquer la raison +de l'impossibilit=E9 de d=E9bloquer l'adresse IP en question ? + +De plus, au travers du programme SNDS, je constate bien l'absence +de blocage de 31.170.8.119/32 + +N=E9anmoins, l'envoi d'emails depuis cette machine vers des +adresses hotmail.fr est imm=E9diatement rejet=E9 comme en atteste les +journaux ainsi que le bounce : + +Journaux postfix :=20 + +May 5 16:42:08 exotismes-vo2max postfix/smtp[31956]: E1D616188E: +to=3D, +relay=3Deur.olc.protection.outlook.com[104.47.1.33]:25, delay=3D0.15, +delays=3D0.03/0.01/0.08/0.03, dsn=3D5.7.1, status=3Dbounced (host +eur.olc.protection.outlook.com[104.47.1.33] said: 550 5.7.1 +Unfortunately, messages from [31.170.8.119] weren't sent. Please +contact your Internet service provider since part of their network is +on our block list (S3150). You can also refer your provider to +https://nam06.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fmail.l= +i +ve.com%2Fmail%2Ftroubleshooting.aspx%23errors&data=3D02%7C01%7CWINLV.= +E +DFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.EM%40css.one.microsoft.com%7C0c63b8ba +f30a481517a008d7f65109fe%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63 +7248700237133288&sdata=3DhI2oonR%2Bi27oc9x0u5MXo0uFq3UEvKk6Dtz5AN9ZTw= +k +%3D&reserved=3D0. +[VE1EUR01FT045.eop-EUR01.prod.protection.outlook.com] (in reply to MAIL +FROM command)) + +Bounce re=E7u :=20 + +: host +eur.olc.protection.outlook.com[104.47.1.33] +said: 550 5.7.1 Unfortunately, messages from [31.170.8.119] weren't +sent. +Please contact your Internet service provider since part of their +network +is on our block list (S3150). You can also refer your provider to +https://nam06.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fmail.l= +i +ve.com%2Fmail%2Ftroubleshooting.aspx%23errors&data=3D02%7C01%7CWINLV.= +E +DFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.EM%40css.one.microsoft.com%7C0c63b8ba +f30a481517a008d7f65109fe%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63 +7248700237133288&sdata=3DhI2oonR%2Bi27oc9x0u5MXo0uFq3UEvKk6Dtz5AN9ZTw= +k +%3D&reserved=3D0. +[VE1EUR01FT045.eop-EUR01.prod.protection.outlook.com] (in reply to MAIL +FROM command) + +Reporting-MTA: dns; exotismes-vo2max.evolix.net +X-Postfix-Queue-ID: E1D616188E +X-Postfix-Sender: rfc822; www-prod_afcf@exotismes-vo2max.evolix.net +Arrival-Date: Tue, 5 May 2020 16:42:07 +0200 (CEST) + +Final-Recipient: rfc822; alain.chevassu@hotmail.fr +Action: failed +Status: 5.7.1 +Remote-MTA: dns; eur.olc.protection.outlook.com +Diagnostic-Code: smtp; 550 5.7.1 Unfortunately, messages from +[31.170.8.119] +weren't sent. Please contact your Internet service provider since part +of +their network is on our block list (S3150). You can also refer your +provider to +https://nam06.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fmail.l= +i +ve.com%2Fmail%2Ftroubleshooting.aspx%23errors&data=3D02%7C01%7CWINLV.= +E +DFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.EM%40css.one.microsoft.com%7C0c63b8ba +f30a481517a008d7f65109fe%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63 +7248700237133288&sdata=3DhI2oonR%2Bi27oc9x0u5MXo0uFq3UEvKk6Dtz5AN9ZTw= +k +%3D&reserved=3D0. +[VE1EUR01FT045.eop-EUR01.prod.protection.outlook.com] + + +Pouvez-vous s'il vous plait : + +1/ Nous expliquer les raisons du blocage de 31.170.8.119/32 +2/ Nous expliquer pourquoi ce blocage n'apparait pas sur le SNDS +3/ Nous communiquer les d=E9marches =E0 faire pour d=E9bloquer l'adresse = +IP + +Merci d'avance pour vos r=E9ponses, + +--=20 +Ludovic Poujol=20 +Evolix - H=E9bergement et Infog=E9rance Open Source +Marseille (37 rue Guibal, P=F4le M=E9dia, 13003) / Paris / Montr=E9al +https://nam06.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fevolix= + +com%2F&data=3D02%7C01%7CWINLV.EDFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.EM%= +4 +0css.one.microsoft.com%7C0c63b8baf30a481517a008d7f65109fe%7C72f988bf86f1 +41af91ab2d7cd011db47%7C1%7C0%7C637248700237133288&sdata=3D5nhf0AsapDC= +1 +YoSCnUkSaS863X5W9m0kJDPYZRzx90g%3D&reserved=3D0 | Twitter: @Evolix +@EvolixNOC | +https://nam06.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fblog.e= +v +olix.com%2F&data=3D02%7C01%7CWINLV.EDFS.WW.00.FR.MSF.RMD.TS.T01.SPT.0= +0 +EM%40css.one.microsoft.com%7C0c63b8baf30a481517a008d7f65109fe%7C72f988b +f86f141af91ab2d7cd011db47%7C1%7C0%7C637248700237133288&sdata=3DUEPHCd= +p +k8iYN9y2HhJRm5ijmf0ZJReZmN2vell02aAg%3D&reserved=3D0 + + +------=_NextPart_000_E9B38D_01D62811.181431A0 +Content-Type: text/html; charset="iso-8859-1" +Content-Transfer-Encoding: quoted-printable + +
  =0A= +

Hello,

=0A= +

My name is Somashekhar and I work with the Outlook.com Deliver= +ability Support Team.

=0A= +

 

=0A= +

We have implemented mitigation for your IP (31.170.8.119) and = +this process may take 24 - 48 hours to replicate completely throughout our = +system.

=0A= +

Sincerely,

=0A= +

 

=0A= +

Somashekhar

=0A= +

Outlook.com Deliverability Support.


= +=0A= +
=0A= +
=0A= +

--- Original Mess= +age ---
From : "Ludovic Poujol"
Sent : Tuesday, May 12, 2020 8:48:16 AM UTC
To : "WINLV.EDFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.EM@css.one.mic= +rosoft.com"
Cc : "equipe@evolix.fr"
Subject : [EXTERNE] Re: Probl=E8me de remise des messages sig= +nal=E9 dans Outlook.com SRX1500300887ID$

Bonjour,

On 2020-05-= +05 15:48, WINLV.EDFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.EM@css.one.microsoft.co= +m wrote:
> Ne peut pas =EAtre d=E9bloqu=E9
> 31.170.8.119/32> Notre investigation a d=E9termin=E9 que les adresses IP ci-dessus ne<= +BR>> peuvent pas =EAtre d=E9bloqu=E9es.

Merci pour ce retour. N= +=E9anmoins, pouvez-vous nous expliquer la raison
de l'impossibilit=E9 de= + d=E9bloquer l'adresse IP en question ?

De plus, au travers du progr= +amme SNDS, je constate bien l'absence
de blocage de 31.170.8.119/32
<= +BR>N=E9anmoins, l'envoi d'emails depuis cette machine vers des
adresses = +hotmail.fr est imm=E9diatement rejet=E9 comme en atteste les
journaux ai= +nsi que le bounce :

Journaux postfix :

May  5 16:42:08 = +exotismes-vo2max postfix/smtp[31956]: E1D616188E: to=3D<alain.chevassu@h= +otmail.fr>, relay=3Deur.olc.protection.outlook.com[104.47.1.33]:25, dela= +y=3D0.15, delays=3D0.03/0.01/0.08/0.03, dsn=3D5.7.1, status=3Dbounced (host= + eur.olc.protection.outlook.com[104.47.1.33] said: 550 5.7.1 Unfortunately,= + messages from [31.170.8.119] weren't sent. Please contact your Internet se= +rvice provider since part of their network is on our block list (S3150). Yo= +u can also refer your provider to https://nam06.safelinks.protection.outloo= +k.com/?url=3Dhttp%3A%2F%2Fmail.live.com%2Fmail%2Ftroubleshooting.aspx%23err= +ors&amp;data=3D02%7C01%7CWINLV.EDFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.EM%4= +0css.one.microsoft.com%7C0c63b8baf30a481517a008d7f65109fe%7C72f988bf86f141a= +f91ab2d7cd011db47%7C1%7C0%7C637248700237133288&amp;sdata=3DhI2oonR%2Bi2= +7oc9x0u5MXo0uFq3UEvKk6Dtz5AN9ZTwk%3D&amp;reserved=3D0. [VE1EUR01FT045.e= +op-EUR01.prod.protection.outlook.com] (in reply to MAIL FROM command))
<= +BR>Bounce re=E7u :

<alain.chevassu@hotmail.fr>: host eur.olc.= +protection.outlook.com[104.47.1.33]
said: 550 5.7.1 Unfortunately, messa= +ges from [31.170.8.119] weren't sent.
Please contact your Internet servi= +ce provider since part of their network
is on our block list (S3150). Yo= +u can also refer your provider to
https://nam06.safelinks.protection.out= +look.com/?url=3Dhttp%3A%2F%2Fmail.live.com%2Fmail%2Ftroubleshooting.aspx%23= +errors&amp;data=3D02%7C01%7CWINLV.EDFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.E= +M%40css.one.microsoft.com%7C0c63b8baf30a481517a008d7f65109fe%7C72f988bf86f1= +41af91ab2d7cd011db47%7C1%7C0%7C637248700237133288&amp;sdata=3DhI2oonR%2= +Bi27oc9x0u5MXo0uFq3UEvKk6Dtz5AN9ZTwk%3D&amp;reserved=3D0.
[VE1EUR01F= +T045.eop-EUR01.prod.protection.outlook.com] (in reply to MAIL
FROM comma= +nd)

Reporting-MTA: dns; exotismes-vo2max.evolix.net
X-Postfix-Que= +ue-ID: E1D616188E
X-Postfix-Sender: rfc822; www-prod_afcf@exotismes-vo2m= +ax.evolix.net
Arrival-Date: Tue, 5 May 2020 16:42:07 +0200 (CEST)
Final-Recipient: rfc822; alain.chevassu@hotmail.fr
Action: failed
St= +atus: 5.7.1
Remote-MTA: dns; eur.olc.protection.outlook.com
Diagnosti= +c-Code: smtp; 550 5.7.1 Unfortunately, messages from [31.170.8.119]
were= +n't sent. Please contact your Internet service provider since part of
th= +eir network is on our block list (S3150). You can also refer your
provid= +er to https://nam06.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fma= +il.live.com%2Fmail%2Ftroubleshooting.aspx%23errors&amp;data=3D02%7C01%7= +CWINLV.EDFS.WW.00.FR.MSF.RMD.TS.T01.SPT.00.EM%40css.one.microsoft.com%7C0c6= +3b8baf30a481517a008d7f65109fe%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C= +637248700237133288&amp;sdata=3DhI2oonR%2Bi27oc9x0u5MXo0uFq3UEvKk6Dtz5AN= +9ZTwk%3D&amp;reserved=3D0.
[VE1EUR01FT045.eop-EUR01.prod.protection.= +outlook.com]


Pouvez-vous s'il vous plait :

1/ Nous expliq= +uer les raisons du blocage de 31.170.8.119/32
2/ Nous expliquer pourquoi= + ce blocage n'apparait pas sur le SNDS
3/ Nous communiquer les d=E9march= +es =E0 faire pour d=E9bloquer l'adresse IP

Merci d'avance pour vos r= +=E9ponses,

--
Ludovic Poujol
Evolix - H=E9bergement et Infog= +=E9rance Open Source                = +;                     &nb= +sp;                     &= +nbsp;  
Marseille (37 rue Guibal, P=F4le M=E9dia, 13003) / Paris / = +Montr=E9al                   &= +nbsp;                    = +
https://nam06.safelinks.protection.outlook.com/?url=3Dhttp%3A%2F%2Fevol= +ix.com%2F&amp;data=3D02%7C01%7CWINLV.EDFS.WW.00.FR.MSF.RMD.TS.T01.SPT.0= +0.EM%40css.one.microsoft.com%7C0c63b8baf30a481517a008d7f65109fe%7C72f988bf8= +6f141af91ab2d7cd011db47%7C1%7C0%7C637248700237133288&amp;sdata=3D5nhf0A= +sapDC1YoSCnUkSaS863X5W9m0kJDPYZRzx90g%3D&amp;reserved=3D0 | Twitter: @E= +volix @EvolixNOC | https://nam06.safelinks.protection.outlook.com/?url=3Dht= +tp%3A%2F%2Fblog.evolix.com%2F&amp;data=3D02%7C01%7CWINLV.EDFS.WW.00.FR.= +MSF.RMD.TS.T01.SPT.00.EM%40css.one.microsoft.com%7C0c63b8baf30a481517a008d7= +f65109fe%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637248700237133288&am= +p;amp;sdata=3DUEPHCdpk8iYN9y2HhJRm5ijmf0ZJReZmN2vell02aAg%3D&amp;reserv= +ed=3D0
= + +------=_NextPart_000_E9B38D_01D62811.181431A0-- diff --git a/test/fixtures/files/html_only_base64.eml b/test/fixtures/files/html_only_base64.eml new file mode 100644 index 0000000..0075586 --- /dev/null +++ b/test/fixtures/files/html_only_base64.eml @@ -0,0 +1,270 @@ +Return-Path: +X-Original-To: abuse@evolix.fr +Delivered-To: abuse@evolix.fr +Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60136.outbound.protection.outlook.com [40.107.6.136]) + by pele.evolix.net (Postfix) with ESMTPS id DB52A7F52F + for ; Tue, 20 Oct 2020 15:48:21 +0200 (CEST) +ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; + b=g4IvLqHRp/cX29V2XPnfYiGL7at1C4R9PeLaUK+LyAlDnoYjJSQurFuMy/MNmI+ceT48cqyvcxhX9oMGxUmFEtclRLTLBQDUXOdM76PAzrdksuTKzcwGBvypaL4Z4saRd8zsAgqVlod/+nrnlP4htv8lE2MKlIO63QV5IqFWTgO/gUbVNHyw1CQGMX/trl8pKltXCl9dYV3vjSUIuE8/LXNtk4xX0rgKvcrMj5LZn+BHF5EG7Ny13LOXyk1JPViCNeDpQbbmdoXah3VfQzko12lZmnh+k6CRMBed0CtOrVygdeqSCX9vDyOQ7jBuXZFd88zlCTAGQH1W8Edt4CX7jQ== +ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; + s=arcselector9901; + h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; + bh=f5xj9bpJ8Y3XkL9GUFKLnstdE3L7yEv6lv/6bi4W3l4=; + b=k+4NJrAgkiFOLGv+OVO9Z5yfJTiT4niTimLdA6ZEeUj0lbpnU3ZZQeNhga3N8SM/xo62kUfFSGm8gDE56OvFi6QEaBu9iW3x3wbLcNHDCVtu8ycVwE45RFbbKSLNJFbKP/W06tBJnpqKBUk2ZJrKVEnVfK6Cgf4qrX4Ro4odQMqbfAZAE7Efkip3sfrEu7JcLtX+iSpUWLMV508pgO7ZFY3DF9TXFgy4ZuIWcBvZmLmc1rtkW1GkIme2YH8sght3ez4Gy6TYS1EtIht1pxBq5UCpHO0DO/zKSPaaqCH+BhwoJ7c8wgPozW331+bBtXvzG6/BSeZiJNZUfYD0+mxkhA== +ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is + 194.153.74.13) smtp.rcpttodomain=evolix.fr smtp.mailfrom=interxion.com; + dmarc=fail (p=none sp=none pct=100) action=none header.from=interxion.com; + dkim=none (message not signed); arc=none +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=interxion.onmicrosoft.com; s=selector2-interxion-onmicrosoft-com; + h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; + bh=f5xj9bpJ8Y3XkL9GUFKLnstdE3L7yEv6lv/6bi4W3l4=; + b=VekyYeKUzjHLReDljvWSmld5tVP4tx6Io5/TDxZvhqVk+jYWbWQiB0aGabvsTT6Ng6IGxjSzG2EmbtAKIRyfpzps/yL7f24yK+42qFG26FUzeDd9BK/k9C6rklYNVppG9MROM4r46+nfbFo2M6+W+NzruUef/JaAuKLYy6hYaUE= +Received: from BE0P281CA0010.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:a::20) by + DB3PR0102MB3482.eurprd01.prod.exchangelabs.com (2603:10a6:8:f::28) with + Microsoft SMTP Server (version=TLS1_2, + cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.20; Tue, 20 Oct + 2020 13:48:20 +0000 +Received: from HE1EUR01FT047.eop-EUR01.prod.protection.outlook.com + (2603:10a6:b10:a:cafe::d9) by BE0P281CA0010.outlook.office365.com + (2603:10a6:b10:a::20) with Microsoft SMTP Server (version=TLS1_2, + cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.9 via Frontend + Transport; Tue, 20 Oct 2020 13:48:20 +0000 +X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 194.153.74.13) + smtp.mailfrom=interxion.com; evolix.fr; dkim=none (message not signed) + header.d=none;evolix.fr; dmarc=fail action=none header.from=interxion.com; +Received-SPF: Fail (protection.outlook.com: domain of interxion.com does not + designate 194.153.74.13 as permitted sender) receiver=protection.outlook.com; + client-ip=194.153.74.13; helo=mail.interxion.com; +Received: from mail.interxion.com (194.153.74.13) by + HE1EUR01FT047.mail.protection.outlook.com (10.152.1.5) with Microsoft SMTP + Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id + 15.20.3477.21 via Frontend Transport; Tue, 20 Oct 2020 13:48:16 +0000 +Received: from nl-ams-mbx04.office.interxion.net (192.168.219.182) by + nl-ams-mbx03.office.interxion.net (192.168.219.56) with Microsoft SMTP Server + (TLS) id 15.0.1497.2; Tue, 20 Oct 2020 15:46:33 +0200 +Received: from nl-ams-smtp.office.interxion.net (192.168.210.15) by + owa.interxion.com (192.168.219.182) with Microsoft SMTP Server id 15.0.1497.2 + via Frontend Transport; Tue, 20 Oct 2020 15:46:32 +0200 +Received: from nl-ams-crmui-p1 ([192.168.219.90]) by nl-ams-smtp.office.interxion.net with Microsoft SMTPSVC(8.5.9600.16384); + Tue, 20 Oct 2020 15:46:32 +0200 +From: =?UTF-8?Q?European_Customer_Service_Center_?= =?UTF-8?Q?=28ECSC=29?= + +MIME-Version: 1.0 +Date: Tue, 20 Oct 2020 15:46:32 +0200 +Subject: =?UTF-8?Q?=5B_INTERXION_FRANCE_=5D_=5B_Action_?= + =?UTF-8?Q?Required_=5D_=5B_Informational_Notification_?= + =?UTF-8?Q?=5D_1-1688022?= +Content-Type: text/html; charset="utf-8" +Content-Transfer-Encoding: base64 +Content-Disposition: inline +Message-ID: +X-OriginalArrivalTime: 20 Oct 2020 13:46:32.0027 (UTC) FILETIME=[6B348AB0:01D6A6E7] +X-EOPAttributedMessage: 0 +X-MS-PublicTrafficType: Email +X-MS-Office365-Filtering-Correlation-Id: c595d79d-59a9-4ce0-afc6-08d874fecc33 +X-MS-TrafficTypeDiagnostic: DB3PR0102MB3482: +X-Microsoft-Antispam-PRVS: + +X-MS-Oob-TLC-OOBClassifiers: OLM:10000; +X-MS-Exchange-SenderADCheck: 1 +X-Microsoft-Antispam: BCL:0; +X-Microsoft-Antispam-Message-Info: + rxES59CbtzSv7e1R2X/Caednd3hGFdURE+3ol4Qod6sxhJitXSfQam4INglaEoRO77up5f2WMfZkZEd5E4yheRq/lSrMBgZ/M6QtfncogWHCfE+uENU5yltbvYmtWS57BlnkmFYgKQCzJtcQ4suY5JAMptswY0ucFsTZoFpBzEfdl9arDpwO36haQQT4Ar0N86Ha1mba1Xc0HlOs5pjhzGOHALF1EncgEeB4Q/Hk3lzQVnYNLEFjMGhSYEfhkUeu+RsiuLNveCIaEwyk+8wjPUpwkUY1m22PSKr5i9vDxa4q/e2C9e8u0JGpN/jDGYs6/eBYO9jK5hi3Zzj5sIHMo2HxjqIONng2AUwsELBX79QryYudWzWI5zURhPzgNQ8t18y14uReNSLwmwS+YlJJgIULhQLBJlTizAq2TZpzKE7FD2efilCxBIoXSFcooLL50qTNsKhyJNMeEpCgCSQ5KYX4wjb6UhaoUquhPlLcrCjJzyPvvM9/frab0eKcGYaviwpsp7YFcb8wI20FeSAma1802v49o+PC6bMZEgVPJtE= +X-Forefront-Antispam-Report: + CIP:194.153.74.13;CTRY:NL;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.interxion.com;PTR:gate.interxion.com;CAT:NONE;SFS:(4636009)(39850400004)(396003)(136003)(376002)(346002)(46966005)(82310400003)(336012)(316002)(186003)(36906005)(5660300002)(26005)(966005)(15650500001)(70206006)(86362001)(83380400001)(109986005)(2906002)(478600001)(7636003)(47076004)(33310700002)(9686003)(70586007)(8936002)(8676002)(166002)(82740400003)(356005)(105050200001);DIR:OUT;SFP:1102; +X-OriginatorOrg: interxion.com +X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2020 13:48:16.8380 + (UTC) +X-MS-Exchange-CrossTenant-Network-Message-Id: c595d79d-59a9-4ce0-afc6-08d874fecc33 +X-MS-Exchange-CrossTenant-Id: 5226521a-cae0-4a6b-a04b-3ba17e7ac24f +X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5226521a-cae0-4a6b-a04b-3ba17e7ac24f;Ip=[194.153.74.13];Helo=[mail.interxion.com] +X-MS-Exchange-CrossTenant-AuthSource: + HE1EUR01FT047.eop-EUR01.prod.protection.outlook.com +X-MS-Exchange-CrossTenant-AuthAs: Anonymous +X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem +X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0102MB3482 + +DQo8SFRNTD48SEVBRD48TUVUQSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl +eHQvaHRtbDsgY2hhcnNldD11dGYtOCI+PE1FVEEgSFRUUC1FUVVJVj0iRXhwaXJlcyIgQ09OVEVO +VD0iLTEiPjxNRVRBIEhUVFAtRVFVSVY9IlByYWdtYSIgQ09OVEVOVD0ibm8tY2FjaGUiPjxNRVRB +IEhUVFAtRVFVSVY9IkNhY2hlLUNvbnRyb2wiIENPTlRFTlQ9Im5vLWNhY2hlLG5vLVN0b3JlIj48 +L0hFQUQ+PEJPRFk+PHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjsgbWFyZ2luLXJpZ2h0OjBpbiI+ +PHNwYW4gc3R5bGU9ImNvbG9yOiMwMDAwMDAiPjxzdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 +ZToxMHB0Ij5TdW1tYXJ5PC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTBw +dCI+OiA8c3Ryb25nPlNJVEUgQURWSVNPUlkgJm5kYXNoOyBDT1ZJRC0xOSBTaXRlIE9wZXJhdGlv +bnMgYW5kIFZpc2l0IFByb3RvY29scyBVcGRhdGU8L3N0cm9uZz48L3NwYW4+PC9zcGFuPjwvcD4K +CjxwIHN0eWxlPSJtYXJnaW4tbGVmdDowaW47IG1hcmdpbi1yaWdodDowaW4iPjxzcGFuIHN0eWxl +PSJjb2xvcjojMDAwMDAwIj48c3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTBwdCI+U2l0 +ZSBMb2NhdGlvbjwvc3Bhbj48L3N0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHQiPjog +QWxsIGluLWNvdW50cnkgRGF0YSBDZW50cmVzPC9zcGFuPjwvc3Bhbj48L3A+Cgo8cCBzdHlsZT0i +bWFyZ2luLWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGluIj48c3BhbiBzdHlsZT0iY29sb3I6IzAw +MDAwMCI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHQiPkltcGFjdCB0byBTZXJ2 +aWNlOiA8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij4gRXhwZWN0 +ZWQsIEN1c3RvbWVyIEludGVydmVudGlvbiBXSUxMIEJFIFJlcXVpcmVkPC9zcGFuPiA8L3NwYW4+ +PC9wPgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjsgbWFyZ2luLXJpZ2h0OjBpbiI+PHNwYW4g +c3R5bGU9ImNvbG9yOiMwMDAwMDAiPjxzdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0 +Ij5UeXBlPC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTBwdCI+OiBIZWFs +dGggYW5kIFNhZmV0eTwvc3Bhbj48L3NwYW4+PC9wPgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBp +bjsgbWFyZ2luLXJpZ2h0OjBpbiI+PHNwYW4gc3R5bGU9ImNvbG9yOiMwMDAwMDAiPjxzdHJvbmc+ +PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij5EYXRlPC9zcGFuPjwvc3Ryb25nPjxzcGFuIHN0 +eWxlPSJmb250LXNpemU6MTBwdCI+OiAyMCBPY3RvYmVyIDIwMjAmbmJzcDsgPC9zcGFuPjwvc3Bh +bj48L3A+Cgo8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGluIj48c3Bh +biBzdHlsZT0iY29sb3I6IzAwMDAwMCI+PHN0cm9uZz48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEw +cHQiPk1lc3NhZ2U8L3NwYW4+PC9zdHJvbmc+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij46 +IDwvc3Bhbj48L3NwYW4+PC9wPgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjsgbWFyZ2luLXJp +Z2h0OjBpbiI+PGJyIC8+CjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTBwdCI+PHNwYW4gc3R5bGU9 +ImNvbG9yOiMwMDAwMDAiPkFsbCBJbnRlcnhpb246IEEgRGlnaXRhbCBSZWFsdHkgQ29tcGFueSBD +dXN0b21lcnM8L3NwYW4+PC9zcGFuPjwvcD4KCjxwIHN0eWxlPSJtYXJnaW4tbGVmdDowaW47IG1h +cmdpbi1yaWdodDowaW4iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTBwdCI+PHNwYW4gc3R5bGU9 +ImNvbG9yOiMwMDAwMDAiPkludGVyeGlvbiZyc3F1bztzIGRhdGEgY2VudHJlIGZhY2lsaXRpZXMg +Z2xvYmFsbHkgcmVtYWluIGZ1bGx5IG9wZXJhdGlvbmFsIHdpdGggb25zaXRlIHRlY2huaWNhbCBz +dGFmZiBtb25pdG9yaW5nIGFuZCBzdXBwb3J0aW5nIHlvdXIgY3JpdGljYWwgb3BlcmF0aW9ucyBk +dXJpbmcgdGhlIENPVklELTE5IHBhbmRlbWljLiZuYnNwO0luIGFjY29yZGFuY2Ugd2l0aCBsb2Nh +bCBnb3Zlcm5tZW50IGFuZCBoZWFsdGggYWdlbmN5IGd1aWRlbGluZXMsIEludGVyeGlvbiBpcyBt +YWludGFpbmluZyBhIHJpc2stYmFzZWQsIHNhZmV0eS1maXJzdCBwcm9ncmFtbWUgZm9jdXNlZCBv +biBtYWludGFpbmluZyBvcGVyYXRpb25hbCBjb250aW51aXR5IGZvciBvdXIgY3VzdG9tZXJzLiZu +YnNwO0FzIGEgcmVzdWx0LCB3ZSB3YW50IHRvIHJlbWluZCBhbGwgY3VzdG9tZXJzIHRoYXQgZGVz +cGl0ZSB0aGUgZWFzZSBvZiByZXN0cmljdGlvbnMgaW4gc29tZSByZWdpb25zLCB0aGUgZm9sbG93 +aW5nIHByb3RvY29scyB3aWxsIHJlbWFpbiBpbiBwbGFjZSBhdCBhbGwgSW50ZXJ4aW9uIGZhY2ls +aXRpZXMgdGhyb3VnaCBhdCBsZWFzdCB5ZWFyLWVuZCBhbmQgdW50aWwgb3RoZXJ3aXNlIG5vdGlm +aWVkOiA8L3NwYW4+PC9zcGFuPjwvcD4KCjxwIHN0eWxlPSJtYXJnaW4tbGVmdDowaW47IG1hcmdp +bi1yaWdodDowaW4iPjxzdHJvbmc+PGVtPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTBwdCI+PHNw +YW4gc3R5bGU9ImNvbG9yOiMwMDAwMDAiPldlYXIgYSBtYXNrIGF0IGFsbCB0aW1lcyB3aXRoaW4g +YW4gSW50ZXJ4aW9uIGZhY2lsaXR5PC9zcGFuPjwvc3Bhbj48L2VtPjwvc3Ryb25nPjwvcD4KCjx1 +bD4KCTxsaT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHQiPkNsb3RoIGZhY2UgY292ZXJpbmdz +IGFyZSBwZXJtaXR0ZWQ7IGhvd2V2ZXIsIGFueSBjb3ZlcmluZyBzaG91bGQgZml0IHNudWdseSBh +bmQgY292ZXIgb25lJnJzcXVvO3Mgbm9zZSBhbmQgbW91dGguPC9zcGFuPjwvbGk+Cgk8bGk+PHNw +YW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij5BY2Nlc3MgbWF5IGJlIGRlbmllZCB0byB0aGUgZmFj +aWxpdHkgdG8gZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBsb2NhbCBnb3Zlcm5tZW50IG9yZGVycywg +aG93ZXZlciwgZmFjaWFsIGNvdmVyaW5ncyB3aWxsIGJlIHByb3ZpZGVkIGZvciBvbmUtdGltZSBv +cGVyYXRpb25hbCBlbWVyZ2VuY3kgYWNjZXNzIG9ubHkuICZuYnNwOzwvc3Bhbj48L2xpPgo8L3Vs +PgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjsgbWFyZ2luLXJpZ2h0OjBpbiI+PHN0cm9uZz48 +ZW0+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAw +MCI+TWFpbnRhaW4gc29jaWFsIGRpc3RhbmNpbmcgYXQgYWxsIHRpbWVzICZhbXA7IHByaW9yaXRp +c2UgcGVyc29uYWwgaHlnaWVuZSA8L3NwYW4+PC9zcGFuPjwvZW0+PC9zdHJvbmc+PC9wPgoKPHVs +PgoJPGxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOmJs +YWNrIj5NYWludGFpbiBzb2NpYWwgZGlzdGFuY2luZyBndWlkZWxpbmVzIGZyb20gPC9zcGFuPjwv +c3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHQiPmFsbCBwZXJzb25uZWwgYW5kIGxpbWl0 +IGFueSBwcm9sb25nZWQgZmFjZS10by1mYWNlIGludGVyYWN0aW9ucy48L3NwYW4+PC9saT4KCTxs +aT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHQiPlByaW9yaXRpc2UgcGVyc29uYWwgaHlnaWVu +ZSBwcmFjdGljZXMgc3VjaCBhcyBmcmVxdWVudCBoYW5kIHdhc2hpbmcgYW5kIHVzZSBvZiBhdmFp +bGFibGUgaGFuZCBzYW5pdGlzZXIsIHJlc3BpcmF0b3J5IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u +dC1zaXplOjEwcHQiPmV0aXF1ZXR0ZSAoY292ZXIgbm9zZSBhbmQgbW91dGggdy8gYXJtIHdoZW4g +c25lZXppbmcpIGFuZCBhdm9pZCB0b3VjaGluZyBleWVzLCBub3NlIGFuZCBtb3V0aC4gPC9zcGFu +PjwvbGk+CjwvdWw+Cgo8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGlu +Ij48c3Ryb25nPjxlbT48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHQiPjxzcGFuIHN0eWxlPSJj +b2xvcjojMDAwMDAwIj5MaW1pdCBzaXRlIHZpc2l0cyBhbmQgb25zaXRlIHBlcnNvbm5lbCB0byBj +cml0aWNhbCBhY3Rpdml0aWVzIG9ubHk8L3NwYW4+PC9zcGFuPjwvZW0+PC9zdHJvbmc+PC9wPgoK +PHVsPgoJPGxpPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTBwdCI+UHJvamVjdHMgcmVxdWlyaW5n +IGxhcmdlIHdvcmsgdGVhbXMgb3Igbm9uLWVzc2VudGlhbCBzdGFmZiBzaG91bGQgYmUgZGVmZXJy +ZWQgb3IgcmUtcHJpb3JpdGl6ZWQgdG8gbWluaW1pemUgb25zaXRlIHBlcnNvbm5lbCB3aGVuIHBv +c3NpYmxlIGFuZCBtYXkgYmUgc3ViamVjdCB0byBhZGRpdGlvbmFsIHNjcmVlbmluZyByZXF1aXJl +bWVudHMgYW5kIHNhZmV0eSBpbnNwZWN0aW9ucy4mbmJzcDsgQXVkaXQgYWN0aXZpdHkgc2hvdWxk +IGJlIGxpbWl0ZWQgdG8gcmVtb3RlIGF1ZGl0aW5nIG9ubHk7IG9uc2l0ZSBhdWRpdGluZyBpcyBj +b25zaWRlcmVkIG5vbi1lc3NlbnRpYWwuPC9zcGFuPjwvbGk+Cgk8bGk+PHNwYW4gc3R5bGU9ImZv +bnQtc2l6ZToxMHB0Ij5SZXN0cmljdCBhbGwgc2hpcG1lbnRzIHRvIGNyaXRpY2FsIGluc3RhbGxh +dGlvbnMgYW5kIHN1cHBsaWVzIG9ubHkuJm5ic3A7IENvbnRhY3QgeW91ciBzaXRlIGJlZm9yZSBh +cnJhbmdpbmcgYW55IGxhcmdlIGRlbGl2ZXJpZXMgYXMgdGhlcmUgbWF5IGJlIGRpc3J1cHRpb25z +IHRvIHVuc2NoZWR1bGVkIGRlbGl2ZXJpZXMuPC9zcGFuPjwvbGk+Cgk8bGk+PHNwYW4gc3R5bGU9 +ImZvbnQtc2l6ZToxMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6YmxhY2siPkludGVyeGlvbiZyc3F1 +bztzIHN0YW5kYXJkIG1haW50ZW5hbmNlIHByb2dyYW1tZSByZW1haW5zIGluIGVmZmVjdC4mbmJz +cDtNYWludGVuYW5jZSBhY3Rpdml0aWVzIHJlcXVpcmluZyBsYXJnZSB3b3JrIHRlYW1zIChpLmUu +IGRlLWVuZXJnaXNlZCBtYWludGVuYW5jZSwgcHVsbC10aGUtcGx1ZyB0ZXN0LCBldGMuKSB3aWxs +IGJlIGNvbXBsZXRlZCBvbiBhIDwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox +MHB0Ij5wcmlvcml0aXNlZCBiYXNpcyBhbmQgcGVyIEludGVyeGlvbiZyc3F1bztzIENPVklEIHNh +ZmV0eSBndWlkZWxpbmVzLjwvc3Bhbj48L2xpPgo8L3VsPgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0 +OjBpbjsgbWFyZ2luLXJpZ2h0OjBpbiI+PHN0cm9uZz48ZW0+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 +ZToxMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAwMCI+U2VjdXJpdHkgc2NyZWVuaW5nIHJl +bWFpbnMgaW4gZWZmZWN0IHVwb24gc2l0ZSBlbnRyeTwvc3Bhbj48L3NwYW4+PC9lbT48L3N0cm9u +Zz48L3A+Cgo8dWw+Cgk8bGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij5BbGwgcGVyc29u +cyBlbnRlcmluZyBhbiBJbnRlcnhpb24gZmFjaWxpdHkgKGkuZS4gZW1wbG95ZWVzLCBjdXN0b21l +cnMsIHZpc2l0b3JzIG9yIHZlbmRvcnMpIHdpbGwgY29udGludWUgdG8gYmUgc2NyZWVuZWQgYnkg +U2VjdXJpdHkgcHJpb3IgdG8gYmVpbmcgYWxsb3dlZCBhY2Nlc3MuJm5ic3A7PC9zcGFuPjwvbGk+ +CjwvdWw+Cgo8dWw+Cgk8bGk+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij5BY2Nlc3Mgd2ls +bCBiZSBkZW5pZWQgdG8gYW55b25lIGV4cGVyaWVuY2luZyBmbHUtbGlrZSBzeW1wdG9tcywgd2hv +IGhhcyB0ZXN0ZWQgcG9zaXRpdmUgZm9yIENPVklELTE5IGluIHRoZSBwYXN0IDE0IGRheXMsIHdo +byB3YXMgaW4gZGlyZWN0IGNvbnRhY3QgaW4gdGhlIHBhc3QgMTQgZGF5cyB3aXRoIGFueW9uZSBj +b25maXJtZWQgcG9zaXRpdmUgZm9yIENPVklELTE5LCBvciB3aG8gaXMgY3VycmVudGx5IGF3YWl0 +aW5nIHJlc3VsdHMgZnJvbSBhIENPVklELTE5IHRlc3QuPC9zcGFuPjwvbGk+Cgk8bGk+PHNwYW4g +c3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij5JbW1lZGlhdGVseSByZXBvcnQgYW55IG9uc2l0ZSBwb3Np +dGl2ZSBjYXNlcyBvZiBDT1ZJRC0xOSAob3Igc3VzcGVjdGVkIHBvc2l0aXZlIG9yIHBlbmRpbmcg +dGVzdGluZykgdG8gSW50ZXJ4aW9uLjwvc3Bhbj48L2xpPgo8L3VsPgoKPHAgc3R5bGU9Im1hcmdp +bi1sZWZ0OjBpbjsgbWFyZ2luLXJpZ2h0OjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0 +Ij48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAwMCI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3A+Cgo8 +cCBzdHlsZT0ibWFyZ2luLWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGluIj48c3BhbiBzdHlsZT0i +Zm9udC1zaXplOjEwcHQiPjxzcGFuIHN0eWxlPSJjb2xvcjojMDAwMDAwIj5XZSB0aGFuayB5b3Ug +aW4gYWR2YW5jZSBmb3IgeW91ciBjb29wZXJhdGlvbiBhbmQgdW5kZXJzdGFuZGluZyByZWdhcmRp +bmcgdGhlc2UgcHJvdG9jb2xzIGFuZCB3ZSB3aWxsIGNvbnRpbnVlIHRvIGtlZXAgeW91IHVwZGF0 +ZWQgYXMgb3VyIHByb3RvY29scyBldm9sdmUuJm5ic3A7UGxlYXNlIGNvbnRhY3QgeW91cjwvc3Bh +bj4gPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6d2hpdGUiPjxzcGFuIHN0eWxlPSJjb2xv +cjpibGFjayI+bG9jYWwgSW50ZXJ4aW9uIHRlYW0gb3IgZW1haWwmbmJzcDs8L3NwYW4+PC9zcGFu +PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOndoaXRlIj48c3BhbiBzdHlsZT0iY29sb3I6 +IzAwN2JmZiI+UUhTRVJlcG9ydGluZ0BpbnRlcnhpb24uY29tPC9zcGFuPjwvc3Bhbj48c3BhbiBz +dHlsZT0iY29sb3I6IzAwMDAwMCI+IGlmIHlvdSBoYXZlIGFueSBxdWVzdGlvbnMgb3IgY29uY2Vy +bnMuJm5ic3A7QWRkaXRpb25hbGx5LCBwbGVhc2UgY29udGludWUgdG8gYWNjZXNzIEludGVyeGlv +biZyc3F1bztzIGNvcm9uYXZpcnVzIGluZm9ybWF0aW9uIDwvc3Bhbj48YSBocmVmPSJodHRwczov +L3d3dy5pbnRlcnhpb24uY29tL25ld3MvY3VzdG9tZXItc3RhdGVtZW50LW9uLWNvcm9uYXZpcnVz +LW91dGJyZWFrIj48c3BhbiBzdHlsZT0iY29sb3I6IzA1NjNjMSI+cmVzb3VyY2UgcGFnZTwvc3Bh +bj48L2E+PHNwYW4gc3R5bGU9ImNvbG9yOiMwMDAwMDAiPiBmb3IgYSBsaW5rIHRvIG91ciAmbGRx +dW87RnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnMmcmRxdW87IGFuZCBCdXNpbmVzcyBDb250aW51 +aXR5IEZyYW1ld29yay4mbmJzcDsgPC9zcGFuPjwvc3Bhbj48L3A+Cgo8cCBzdHlsZT0ibWFyZ2lu +LWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHQi +PjxzcGFuIHN0eWxlPSJjb2xvcjojMDAwMDAwIj5JbnRlcnhpb24mcnNxdW87cyBwcmltYXJ5IGZv +Y3VzIGlzIG9uIHRoZSBoZWFsdGggYW5kIHNhZmV0eSBvZiBvdXIgY3VzdG9tZXJzLCBwYXJ0bmVy +cywgdmVuZG9ycyBhbmQgZW1wbG95ZWVzLiZuYnNwO1RoYW5rIHlvdSBmb3IgeW91ciBoZWxwIGlu +IHN1cHBvcnRpbmcgdGhlc2Ugb2JqZWN0aXZlcywgYW5kIGFnYWluLCBwbGVhc2UgZG8gbm90IGhl +c2l0YXRlIHRvIGxldCB1cyBrbm93IGlmIHlvdSBoYXZlIGFueSBxdWVzdGlvbnMuIDwvc3Bhbj48 +L3NwYW4+PC9wPgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjsgbWFyZ2luLXJpZ2h0OjBpbiI+ +PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAwMCI+ +UmVzcGVjdGZ1bGx5LDwvc3Bhbj48L3NwYW4+PC9wPgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBp +bjsgbWFyZ2luLXJpZ2h0OjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij48c3BhbiBz +dHlsZT0iY29sb3I6IzAwMDAwMCI+SW50ZXJ4aW9uPC9zcGFuPjwvc3Bhbj48L3A+Cgo8cCBzdHls +ZT0ibWFyZ2luLWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGluIj48c3Ryb25nPjxzcGFuIHN0eWxl +PSJmb250LXNpemU6MTBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMwMDAwMDAiPkludGVyeGlvbiBF +dXJvcGVhbiBDdXN0b21lciBTZXJ2aWNlIENlbnRyZTwvc3Bhbj48L3NwYW4+PC9zdHJvbmc+PC9w +PgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjsgbWFyZ2luLXJpZ2h0OjBpbiI+PHNwYW4gc3R5 +bGU9ImZvbnQtc2l6ZToxMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAwMCI+Q3VzdG9tZXIg +UG9ydGFsOiA8L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9wb3J0YWwuaW50ZXJ4aW9uLmNvbS8iPjxz +cGFuIHN0eWxlPSJjb2xvcjojMDU2M2MxIj5odHRwczovL3BvcnRhbC5pbnRlcnhpb24uY29tPC9z +cGFuPjwvYT48L3NwYW4+PC9wPgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjsgbWFyZ2luLXJp +Z2h0OjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6 +IzAwMDAwMCI+VG9sbCBGcmVlIFRlbGVwaG9uZSBudW1iZXIgd2hlbiBjYWxsaW5nIGZyb20gRXVy +b3BlICsgODAwIDAwIDk5OSAyMjIgPC9zcGFuPjwvc3Bhbj48L3A+Cgo8cCBzdHlsZT0ibWFyZ2lu +LWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHQi +PjxzcGFuIHN0eWxlPSJjb2xvcjojMDAwMDAwIj5Ub2xsIEZyZWUgVGVsZXBob25lIG51bWJlciB3 +aGVuIGNhbGxpbmcgZnJvbSB0aGUgVVM6IDEgODU1IDU5OSA5MjIyPC9zcGFuPjwvc3Bhbj48L3A+ +Cgo8cCBzdHlsZT0ibWFyZ2luLWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGluIj48c3BhbiBzdHls +ZT0iZm9udC1zaXplOjEwcHQiPjxzcGFuIHN0eWxlPSJjb2xvcjojMDAwMDAwIj5UZWxlcGhvbmU6 +ICsgNDQgKDApMjAgNzM3NSA3MDcwIDwvc3Bhbj48L3NwYW4+PC9wPgoKPHAgc3R5bGU9Im1hcmdp +bi1sZWZ0OjBpbjsgbWFyZ2luLXJpZ2h0OjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0 +Ij48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAwMCI+RmF4OiArIDQ0ICgwKTIwIDczNzUgNzA1OSA8 +L3NwYW4+PC9zcGFuPjwvcD4KCjxwIHN0eWxlPSJtYXJnaW4tbGVmdDowaW47IG1hcmdpbi1yaWdo +dDowaW4iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTBwdCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMw +MDAwMDAiPkUtbWFpbDogPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojMDAwMDAwIj5jdXN0b21l +ci5zZXJ2aWNlc0BpbnRlcnhpb24uY29tPC9zcGFuPjwvc3Bhbj48L3A+Cgo8cCBzdHlsZT0ibWFy +Z2luLWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEw +cHQiPjxzcGFuIHN0eWxlPSJjb2xvcjojMDAwMDAwIj5Ib21lcGFnZTogPC9zcGFuPjxhIGhyZWY9 +Imh0dHA6Ly93d3cuaW50ZXJ4aW9uLmNvbS8iPjxzcGFuIHN0eWxlPSJjb2xvcjojMDU2M2MxIj5o +dHRwOi8vd3d3LmludGVyeGlvbi5jb208L3NwYW4+PC9hPjwvc3Bhbj48L3A+Cgo8cCBzdHlsZT0i +bWFyZ2luLWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGluIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl +OjEwcHQiPjxzcGFuIHN0eWxlPSJjb2xvcjojMDAwMDAwIj5JbnRlcnhpb24gTGltaXRlZDwvc3Bh +bj48L3NwYW4+PC9wPgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjsgbWFyZ2luLXJpZ2h0OjBp +biI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAw +MCI+UmVnaXN0ZXJlZCBpbiBFbmdsYW5kOiAzNzUzOTY5PC9zcGFuPjwvc3Bhbj48L3A+Cgo8cCBz +dHlsZT0ibWFyZ2luLWxlZnQ6MGluOyBtYXJnaW4tcmlnaHQ6MGluIj48c3BhbiBzdHlsZT0iZm9u +dC1zaXplOjEwcHQiPjxzcGFuIHN0eWxlPSJjb2xvcjojMDAwMDAwIj5SZWdpc3RlcmVkIG9mZmlj +ZTogNXRoIEZsb29yLCA5MS05NSBCcmljayBMYW5lLCBMb25kb24gRTEgNlFMLjwvc3Bhbj48L3Nw +YW4+PC9wPgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjsgbWFyZ2luLXJpZ2h0OjBpbiI+PHNw +YW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAwMCI+Jm5i +c3A7PC9zcGFuPjwvc3Bhbj48L3A+Cgo8cD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwcHQiPjxz +cGFuIHN0eWxlPSJjb2xvcjojMDAwMDAwIj5UaGlzIGUtbWFpbCBtYXkgY29udGFpbiBjb25maWRl +bnRpYWwgYW5kL29yIHByaXZpbGVnZWQgaW5mb3JtYXRpb24uIElmIHlvdSBhcmUgbm90IHRoZSBp +bnRlbmRlZCByZWNpcGllbnQgKG9yIGhhdmUgcmVjZWl2ZWQgdGhpcyBlLW1haWwgaW4gZXJyb3Ip +IHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBpbW1lZGlhdGVseSBhbmQgZGVzdHJveSB0aGlzIGUt +bWFpbC4gQW55IHVuYXV0aG9yaXplZCBjb3B5aW5nLCBkaXNjbG9zdXJlIG9yIGRpc3RyaWJ1dGlv +biBvZiB0aGUgbWF0ZXJpYWwgaW4gdGhpcyBlLW1haWwgaXMgc3RyaWN0bHkgZm9yYmlkZGVuLjwv +c3Bhbj48L3NwYW4+PC9wPgoKPHAgc3R5bGU9Im1hcmdpbi1sZWZ0OjBpbjsgbWFyZ2luLXJpZ2h0 +OjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij48c3BhbiBzdHlsZT0iY29sb3I6IzAw +MDAwMCI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48L3A+CjwvQk9EWT48L0hUTUw+DQo= + diff --git a/test/fixtures/files/html_only_multipart.eml b/test/fixtures/files/html_only_multipart.eml new file mode 100644 index 0000000..caf4619 --- /dev/null +++ b/test/fixtures/files/html_only_multipart.eml @@ -0,0 +1,710 @@ +Return-Path: +X-Original-To: equipe@evolix.fr +Delivered-To: equipe@evolix.fr +Received: from pom-out.ft-hebergement.com (pom-out.ft-hebergement.com [194.2.122.131]) + by pele.evolix.net (Postfix) with ESMTPS id D9A637F5CF + for ; Wed, 21 Oct 2020 15:10:54 +0200 (CEST) +Received: from localhost (unknown [127.0.0.1]) + by pomprml51 (Postfix) with ESMTP id 58507D24B8 + for ; Wed, 21 Oct 2020 15:10:54 +0200 (CEST) +Received: from pom-out.ft-hebergement.com ([127.0.0.1]) + by localhost (pom-out.ft-hebergement.com [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id hNoPvsvFOoI2 for ; + Wed, 21 Oct 2020 15:10:54 +0200 (CEST) +Date: Wed, 21 Oct 2020 15:10:53 +0200 (CEST) +From: Orange Business Services +Reply-To: support-donotreply@orange.com +Message-ID: <5997175.120292.1603285853969@smlprwb71.sml.adml> +Subject: Prise en charge de l'incident No. 2010W79915 - PAU, 7 R MARCA, + 64000 Pau +MIME-Version: 1.0 +Content-Type: multipart/related; + boundary="----=_Part_120291_30874261.1603285853882" +X-ServiceNow-Source: Notification-6f0a1748b9bc774018d4b2f52714cccc +X-ServiceNow-SysEmail-Version: 2 +Precedence: bulk +Auto-Submitted: auto-generated +X-ServiceNow-Generated: true + +------=_Part_120291_30874261.1603285853882 +Content-Transfer-Encoding: quoted-printable +Content-Type: text/html; charset=UTF-8 + +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + +
3D"" +

Votre = +service clients Orange Business Services

+
+
+ + + + + + +
Prise en = +charge de votre incident No. 2010W79915
+
+ + + + + + +
+ + + + + + +
+ + + + + + + + + + + + + + + +
Mercredi = +21/10/2020 15:10
+

Bonjour, 
Nous vous confirmons la prise en charge de votre = +dossier.

+

Information compl=C3=A9mentaire : =C2=AB20= +20-10-21 15:09:07 CEST - Orange (Additional comments) +Service concern=C3=A9 : Voix
Autre usage impact=C3=A9 : Pa= +s d''autre impact
Compl=C3=A9ment d''information : suite du tick= +et 2009P88471

Vous souhaitez qu'un technicien intervienne sur site p= +our v=C3=A9rifier votre installation et trouver ce qui cause des pannes ass= +ez souvent.

Vous =C3=AAtes formelles et vous me dites qu'aucun techn= +icien n'est intervenu sur site comme peut l'indiquer le pr=C3=A9c=C3=A8dent= + ticket.
Horaires d''ouverture du site : L au D 11h 14h 18h 22h + +=C2=BB

+
Pour suivre l'avancement de votre dossier et r=C3=A9p= +ondre aux messages des techniciens :
+ + + + + + +
Acc=C3=A9der au dossier
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + +
3D""
 
Votre identifiant est : remylaborie +
Premi=C3=A8re connexion ? Finalisez la cr=C3=A9at= +ion de votre compte :
Obtenir mon mot de passe
 
+
+ + + + + + + + + +
D=C3=A9tails de l'incident :
+ + + + + + + + + + + + + + + +
3D""D=C3=A9pos=C3=A9 le 2020-10-21 15:09:00 CEST
3D"" + + + + + + + + + +
T=C3=A9l=C3= +=A9phonie d'entreprise
669379520054= +
+
3D""demande d'intervention 
R=C3=A9f=C3=A9rence : 2010W79915
+ + + + + + + + + + + +
3D""Signal=C3=A9 par 
Remy LABORIE
3D""PAU - 7 R MARCA, 64000 Pau France
+
+
+ + + + + + + + + + + + + + + +
 
Merci de votre confiance.
Votre service clients Orange Business Services
 
+
 
 
Orange, S.A. au capital de 10 595 541 532=E2=82=AC - 7= +8 rue Olivier de Serres 75 015 Paris - RCS Paris N=C2=B0380 129.
+
+

 

 
Ref:MSG116806269<= +/div> +------=_Part_120291_30874261.1603285853882 +Content-Type: image/png; name=atluck_icon5.png +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename=atluck_icon5.png +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAATRJREFUOBGt +009qwkAUBnBnIghx17oTvIBCcZN9wV6gl4iQVQ4jCfEGXqCbdt3s3EqXXUk3pQjxD4nxezGKjpnk +STMwMe/5zc8hcUSDMWzbfkLsI03TR11cCLHHdxOhC5z6DOwPWJz/2KYUrMIAbTF7UsooSZJvoO3m +aSfqZxVGeQC0voO5wn2LeoU75GC0mEb+7PY5vrsB78GO5NV1Jy/Lf2IZdQbrwEjMwLqwDHQcp4+b +0j8tBZnjR8ZxPMUb0p4AJkRve4nsiwQ24C7S5QiD8xwEwUKieNMFOf1LjPI4NXKM5pyzWM2oWAZ6 +nvdrmuboXrQII/B8UlzXfYii6B3PYqjuRK112BVIBQctw27AKrQKKwR1KAejtQZd1BGG4dqyrBn6 +PcwusE/DMF593/9Ss2p9ABtMxDisGtoEAAAAAElFTkSuQmCC +------=_Part_120291_30874261.1603285853882 +Content-Type: image/png; name=atluck_icon3.png +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename=atluck_icon3.png +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAAAXNSR0IArs4c6QAAAKNJREFUOBFj +TEtL+8/AwHCJkZGx5P///7uAbDBgYmKKmzFjxmKg/EWggN6sWbMYMzMz9f79+9cDVLsYSC8C0qVA +PXpA+ViILgYGJhiDWvSogZSHJMVhCIxpRmRnUGwgMNmAkh0cUGwg3CQoYwQayAKMpCqg91+xsrLe ++f37N4gNA+dBDKD8JCAlBmIDw/8FkD8PyLwC0gfkHwbSN4H86yB5EAAAZL8xznxkbj4AAAAASUVO +RK5CYII= +------=_Part_120291_30874261.1603285853882 +Content-Type: image/png; name=atluck_sep.png +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename=atluck_sep.png +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAAjAAAAAOCAYAAAAxHiabAAAACXBIWXMAAAsTAAALEwEAmpwYAAA4 +KWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0w +TXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRh +LyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0 +LTAxOjA5OjAxICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMu +b3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJk +ZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFw +LzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv +MS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bo +b3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNv +bS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5j +b20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0i +aHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0 +dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5B +ZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKTwveG1wOkNyZWF0b3JUb29sPgogICAg +ICAgICA8eG1wOkNyZWF0ZURhdGU+MjAxNy0wNS0wOVQxNToxMzo0OCswMjowMDwveG1wOkNyZWF0 +ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE3LTA1LTA5VDE1OjE1OjAxKzAyOjAw +PC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNy0wNS0wOVQx +NToxNTowMSswMjowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPGRjOmZvcm1hdD5pbWFn +ZS9wbmc8L2RjOmZvcm1hdD4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9z +aG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHhtcE1NOkluc3RhbmNlSUQ+eG1wLmlpZDo1NjRiNzdl +OS1kMzlhLTQxYzQtYTZkYy0xZTBkZTA5NjI0MmI8L3htcE1NOkluc3RhbmNlSUQ+CiAgICAgICAg +IDx4bXBNTTpEb2N1bWVudElEPnhtcC5kaWQ6NTY0Yjc3ZTktZDM5YS00MWM0LWE2ZGMtMWUwZGUw +OTYyNDJiPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVu +dElEPnhtcC5kaWQ6NTY0Yjc3ZTktZDM5YS00MWM0LWE2ZGMtMWUwZGUwOTYyNDJiPC94bXBNTTpP +cmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpIaXN0b3J5PgogICAgICAgICAgICA8 +cmRmOlNlcT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+ +CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgog +ICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjU2NGI3N2U5LWQzOWEt +NDFjNC1hNmRjLTFlMGRlMDk2MjQyYjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAg +ICAgPHN0RXZ0OndoZW4+MjAxNy0wNS0wOVQxNToxMzo0OCswMjowMDwvc3RFdnQ6d2hlbj4KICAg +ICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIw +MTcgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRm +OmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAg +ICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRp +ZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8 +dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAg +IDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxl +eGlmOkNvbG9yU3BhY2U+NjU1MzU8L2V4aWY6Q29sb3JTcGFjZT4KICAgICAgICAgPGV4aWY6UGl4 +ZWxYRGltZW5zaW9uPjU2MDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBp +eGVsWURpbWVuc2lvbj4xNDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2Ny +aXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8 +P3hwYWNrZXQgZW5kPSJ3Ij8+tZkwXwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6 +mAAAF2+SX8VGAAABnElEQVR42uzaMUscQRiH8XdlTwS5hdsihYW9jZWd3SHIdQEbq2AbP4dl6lik +StogyoF4ha1fJsXNcMOC7Mzmb7OVJHDGW2+Jz6/b3duXPd7mKSaTZOuQZdnSvw0hfIgx/hgMBp+G +w+GvZd9b138DAADd2uj7B0raTindmtlxSulW0jZrAwCAgOlzvOTOuZ+SDtrrg/Y6Z3UAABAwveS9 +/2Zmk2e3J+19AABAwPQuXi4knf3pmaQz7/0F6wMA4H3K+niIdz6ffzazr0uMOS/L8vJvDznECwAA +AfMmAeOc+2hmV5I2lpjx28xORqPRDQEDAAABs5aAWSwWhymlezPbesGoxzzPj4qieCBgAAB4H3pz +BiaEsNc0zfSF8WJmttU0zTSEsMc6AQAgYN5MVVU7McaZpPJf3pdUxhhnVVXtsFIAAAiYzkkq6rq+ +M7PdV47arev6TlLBWgEAIGC6jJdN7/21pP0Vzdtv522yWgAACJgu4iVzzn2XNF7x3HE7N2O9AAAQ +MCvlvf9iZqcdjT9t5wMAgP/QEwAAAP//AwDGsslQ0yW1lwAAAABJRU5ErkJggg== +------=_Part_120291_30874261.1603285853882 +Content-Type: image/png; name=atluck_logo.png +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename=atluck_logo.png +Content-ID: + +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 +YII= +------=_Part_120291_30874261.1603285853882 +Content-Type: image/png; name=atluck_icon4.png +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename=atluck_icon4.png +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAAA0AAAAUCAYAAABWMrcvAAAAAXNSR0IArs4c6QAAAgxJREFUOBGF +kj9oE3EUx727hASFiIJKlE5CHVpcGpdWcQk4dSpk6Z5cUkI6dmglHQqiZkghfy646Kh2KkXEpYOm +qAl26VDRllZoKh3qYkkbL/HzjrvjV631wd177/vn97t7v592RgnTNO/1er1JoFvkc5qmbZAX6B/U +arUDT6pJkc/nw61W6zGCCZfYw7BHf4PeoF7XdX28Uqk0hdflheGhGCA/0N5k1cuWZQ1EIpHziGfB +rne73dfZbPaS6I1MJjOMoYLhfTQavV0oFHaFkKjX651Go7Eci8U20Yzbtt3XbDYXtGQy+RJ+LBgM +DpZKpTVHfcIL3RvgeCgU6tPZYYTn22kGWQPNK8mdTmdY/ukCW38R4D/xVXi0F3VeO9QypVMDXb8I +GMyO7LTCczWdTg8J+K/g80Z5fjGMj7phGDUR0jyR8zrJlEqlTHa6A7fIcbScw2UyywB3eWR6Zjwe +X0kkEnYul7vSbrenMOTA5dOGqtXqJ8fE9Rnh8N4K4cYBn7KP+JoHkF+wS0J650bgfke9JIAbZ/8w +2PzGjEc6JmkCgcA0qecRambXZ9y7dQ/zTeVyeRXyuUco+YgF5f754ZsEgbxPsn2WgoUsbsuWih0z +QX6GfKoIfobD4Tmld8pjJpecZfVDqcnzxWLxu4v76S8TY91mchaKH5zLI1+pFAGl9kvEcxg3mNi+ +DyrFb/kqztB0gl37AAAAAElFTkSuQmCC +------=_Part_120291_30874261.1603285853882 +Content-Type: image/png; name=atluck_icon2.png +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename=atluck_icon2.png +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAAA0AAAAUCAYAAABWMrcvAAAAAXNSR0IArs4c6QAAAUNJREFUOBG9 +kL9Lw0AYhr0kOEhXl+z+/APsUBBdhC4OdRcq2EDATffsjkJIVjdBu2VycJCCgnVX6ZoEu7qG+FzI +hRAuwcnA8d69z/d+3+XESu3L81w4jnMhhDjF3mJ94N2GYXiDl6tSU22kpml6h1yybNZqqcMoinbm +8/k95+ITasOEEV0f1LmpTDph4lT6hoIEhmqv0zqvQnRa1xUrr86rEPBdFbRoxasQnQKKly2BZckL +XIWCIPg2TfMYd9EILqQvufKL13Ndt5dl2TXmjB+e0nWAbqKf6AwdwQaEr3zf/xGe51lJkjwCD8pO +rxQ9s/9ibbD2YXsle7Jt+0gGJrWAZH3O/bKoKYdxHJ/Lfxo3SdeZW5wZdN3tKtKwbTlpTQNaLYb0 +qidvrdKA/w1lmht0WvJ6b50VGmhYljXm7V9gf574C2gpbtAk1jOzAAAAAElFTkSuQmCC +------=_Part_120291_30874261.1603285853882 +Content-Type: image/png; name=atluck_icon1.png +Content-Transfer-Encoding: base64 +Content-Disposition: inline; filename=atluck_icon1.png +Content-ID: + +iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAZhJREFUOBGt +lLFKA0EQhnObyGGjKQQRfAZfQCsFCzsbGzuF4wTPQtHOykKwVMwRSxtt7MRGmxD0CXwBH0CIxOZy +eue3yy3sbiJ3kASG2fn/f//MZoZ4NecTBMG653n3QoitOI5fHFqVYRiuZln2gG673W4/mRoviqJF +ExgMBgd5nh+Dnfm+f2Ny+pwkScD5lLhAc5WmaU4DX61W69ujo1wLi/xLrhM6O7QqNaezBFM63hem +GiAjbiWms8kXeEa+LPBreac4T/Gyc8sQIiW6MkN2EP8UYjPJTt4A+jzzlZwY5GzDKGqY+NQ7xAmx +R23xUis1GIaYHTGYXaBpiRcfMXQBYqUILRrKmK7JGCIAlCHf+Mj5wxF4Zo2BVWuOuwqH3wSb1x3G +7j7pC1Uzu9nhJ7iTQ3HXpqqHpcOsLwE15f+eY90oKXi5asxdm5Jr5bTQzuXSagrVITs1coLVLGzV +5J9s+49fTWzKuhXByuQMZkYD42b5f9jFcAnf5zEnvoDHcqPZbG70er1DOpsDqGM6cuLyISXdf8K/ +/wE/SIzLyFSW7QAAAABJRU5ErkJggg== +------=_Part_120291_30874261.1603285853882-- diff --git a/test/services/email_importer_test.rb b/test/services/email_importer_test.rb index fcac50b..ed2f493 100644 --- a/test/services/email_importer_test.rb +++ b/test/services/email_importer_test.rb @@ -1,14 +1,54 @@ require 'test_helper' class EmailImporterTest < ActiveSupport::TestCase - test "convert html to text when html only" do - eml = file_fixture("html_only.eml").read - mail = Mail.from_source(eml) - email_importer = EmailImporter.new - - email = email_importer.import(mail) + test "convert html to text when not multipart html only" do + email = email_from_eml("html_only.eml") assert_match(/Attention, plus que quelques jours pour bénéficier du FNE !/, email.plain_body) - assert_no_match(/<\/?(p|b|br|img)\/?>/, email.plain_body) + assert_no_html email.plain_body + end + + test "convert html to text when multipart and html only" do + email = email_from_eml("html_only_multipart.eml") + + assert_match(/Complément d''information : suite du ticket 2009P88471/, email.plain_body) + assert_no_html email.plain_body + end + + test "convert html to text when base64-encoded html only" do + email = email_from_eml("html_only_base64.eml") + + assert_match(/Type: Health and Safety/, email.plain_body) + assert_no_html email.plain_body + end + + test "mark cron from subject" do + email = email_from_eml("cron_subject.eml") + + assert_predicate email, :cron? + end + + test "mark cron from headers" do + email = email_from_eml("cron_headers.eml") + + assert_predicate email, :cron? + end + + test "mark not cron" do + email = email_from_eml("cron_not.eml") + + assert_not_predicate email, :cron? + end + + test "single delivered-to" do + email = email_from_eml("delivered_to_single.eml") + + assert_equal email.delivered_to, "equipe+lpoujol@evolix.fr" + end + + test "multiple delivered-to" do + email = email_from_eml("delivered_to_multiple.eml") + + assert_equal email.delivered_to, ["equipe@evolix.net", "alert3@evolix.fr", "root@stratis-www01.evolix.net"] end end