Files
Pablo Zmdl 752b152a23 Check if attachment is actually(!) referred to (#9585)
* Check if "inline" msg part is actually referred to

If there's no reference to it in a sibling HTML part then we handle it
as a classic attachment (which is shown as downloadable).

* Fetch all msg headers also for images to always get Content-Location

Previously all headers were only fetched for message/rfc822, or
if the Content-Type's "name" parameter was set, or if a Content-ID was
set.
The RFC doesn't require neither the "name" parameter nor a Content-ID
for using Content-Location, though, so we shouldn't depend on those.

Instead now all headers are also fetched if the main part of the
Content-Type is "image", to catch more cases.

* Parse HTML for references only on demand

* Typos and comment formatting

* Don't skip test anymore

We want it tested!

* More MR tests with images

* Remove early special handling for "inline" images

We decide later, which attachment is considered "inline" and which
isn't.

* Remove early resolving of references in TNEF parts

* Testing message rendering of TNEF emails

* Don't use image disposition, it's unreliable

* Split adding raw parts and attachments

* Fix renaming variable

* Rename file to make its test be run

* Remove outdated script

* Annotate test cases with GitHub issue numbers

* Fix test case class name

* remove comment

* Test inline image message rendering

* Rename test file to reflect cases better

* Reduce image used in test email

It doesn't change much, but there's also no sense in decoding big images
that we don't use.

* Remove unused variable initialisation
2025-02-09 09:56:43 +01:00

65 lines
3.8 KiB
Plaintext

From: <someone@example.net>
Date: Wed, 31 Jul 2024 12:00:00 +0000
Message-ID: <631a672e15f742a98035f1cb7efe1f8db6310138@example.net>
Subject: tnef example
To: <aaa@bbb.cc>
Content-Type: multipart/mixed;
boundary="_000_AM0PR09MB277052D243401DC2ED6D32A4B27C0AM0PR09MB2770eurp_"
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
<blafaseblafaseblafasel@AM0PR09MB2770.outlook.com>
--_000_AM0PR09MB277052D243401DC2ED6D32A4B27C0AM0PR09MB2770eurp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
--_000_AM0PR09MB277052D243401DC2ED6D32A4B27C0AM0PR09MB2770eurp_
Content-Disposition: attachment; filename="winmail.dat"
Content-Transfer-Encoding: base64
Content-Type: application/ms-tnef; name="winmail.dat"
eJ8+IjcCAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy
b3NvZnQgTWFpbC5Ob3RlADEIAQmAAQAhAAAAMjAwMTdGQ0ZEMDgxRDMxMUE3QTUwMDA4QzcxQkNB
OEQAIgcBBgAHABgAAABJUE0uTWljcm9zb2Z0IE1haWwuTm90ZQAxCAEggAMADgAAAM8HCgANABYA
MQA0AAMAawEBBYADAA4AAADPBwoADQAWAC8ALAADAGEBAQSAAQAJAAAAb25lLWZpbGUADwMBDYAE
AAIAAAACAAIAAQOQBgC4BQAAOAAAAAMA/T/kBAAAQAA5AACIZ33uFb8BHgAxQAEAAAAWAAAAc2lt
cHNvbkB3b3JsZC5zdGQuY29tAAAAAwAaQAAAAQAeADBAAQAAABYAAABzaW1wc29uQHdvcmxkLnN0
ZC5jb20AAAADABlAAAABAAMA3j+vbwAAHgBwAAEAAAAJAAAAb25lLWZpbGUAAAAAAgFxAAEAAAAW
AAAAAb8V7saQz38BIYHQEdOnpQAIxxvKjQAAHgD+VwEAAAAVAAAATkFJU0NBTk5FRFBPU1RPRkZJ
Q0UAAAAACwDyEAEAAAACAfM/AQAAAAAAAAACAfQ/AQAAAAAAAAACAT8AAQAAAFEAAAAAAAAA3KdA
yMBCEBq0uQgAKy/hggEAAAAAAAAAL089Q09NUFVXQVJFL09VPU5VTUVHQSBMQUIvQ049UkVDSVBJ
RU5UUy9DTj1NU0lNUFNPTgAAAAAeAHUAAQAAAAUAAABTTVRQAAAAAB4AdgABAAAAGAAAAG1hcmsu
c2ltcHNvbkBudW1lZ2EuY29tAB4AQAABAAAADgAAAFNpbXBzb24sIE1hcmsAAAAeADRAAQAAAAkA
AABNU0lNUFNPTgAAAAACAVEAAQAAADgAAABFWDovTz1DT01QVVdBUkUvT1U9TlVNRUdBIExBQi9D
Tj1SRUNJUElFTlRTL0NOPU1TSU1QU09OAAMAG0AAAAAAAgFDAAEAAABRAAAAAAAAANynQMjAQhAa
tLkIACsv4YIBAAAAAAAAAC9PPUNPTVBVV0FSRS9PVT1OVU1FR0EgTEFCL0NOPVJFQ0lQSUVOVFMv
Q049TVNJTVBTT04AAAAAHgB3AAEAAAAFAAAAU01UUAAAAAAeAHgAAQAAABgAAABtYXJrLnNpbXBz
b25AbnVtZWdhLmNvbQAeAEQAAQAAAA4AAABTaW1wc29uLCBNYXJrAAAAHgA1QAEAAAAJAAAATVNJ
TVBTT04AAAAAAgFSAAEAAAA4AAAARVg6L089Q09NUFVXQVJFL09VPU5VTUVHQSBMQUIvQ049UkVD
SVBJRU5UUy9DTj1NU0lNUFNPTgADABxAAAAAAAsAVwABAAAACwBYAAAAAAALAFkAAQAAAAIBRwAB
AAAAAAAAAAIB+T8BAAAAQAAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAABAE1hcmsgU2ltcHNvbgBT
TVRQAHNpbXBzb25Ad29ybGQuc3RkLmNvbQAeAPg/AQAAAA0AAABNYXJrIFNpbXBzb24AAAAAHgA4
QAEAAAAWAAAAc2ltcHNvbkB3b3JsZC5zdGQuY29tAAAAAgH7PwEAAABRAAAAAAAAANynQMjAQhAa
tLkIACsv4YIBAAAAAAAAAC9PPUNPTVBVV0FSRS9PVT1OVU1FR0EgTEFCL0NOPVJFQ0lQSUVOVFMv
Q049TVNJTVBTT04AAAAAHgD6PwEAAAAOAAAAU2ltcHNvbiwgTWFyawAAAB4AOUABAAAACQAAAE1T
SU1QU09OAAAAAEAABzCqQ5DG7hW/AUAACDCiG/TJ7hW/AR4APQABAAAAAQAAAAAAAAAeAB0OAQAA
AAkAAABvbmUtZmlsZQAAAAACAdQ/AQAAAAAAAAAeADUQAQAAADIAAAA8MTQzNDEuMTc0ODguNjMx
MDUzLjY5NTQ1NEBsb2NhbGhvc3QubG9jYWxkb21haW4+AAAAHgA5EAEAAAABAAAAAAAAAB4ANhAB
AAAAAQAAAAAAAAACAWhAAQAAAAAAAAACAWlAAQAAAAAAAAADADYAAAAAAAsAKQAAAAAACwAjAAAA
AAADAAYQAAAAAAMABxAAAAAAAwAQEAAAAAADABEQAAAAAB4ACBABAAAAAQAAAAAAAAACAX8AAQAA
ADIAAAA8MTQzNDEuMTc0ODguNjMxMDUzLjY5NTQ1NEBsb2NhbGhvc3QubG9jYWxkb21haW4+AAAA
nx0CApAGAA4AAAABAP////8gACAAAAAAAD0EAhKAAwAOAAAAzwcKAA0AFgAxAC4AAwBlAQITgAMA
DgAAAM8HCgANABYAMQAuAAMAZQECEIABAAgAAABBVVRIT1JTACYCAg+ABgD0AAAACiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEF1dGhvcnMgb2YgdG5lZgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9PT09PT09PT09PT09PT0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAoqIE1hcmsgU2ltcHNvbiAgICAgICAgICAgIGRhbW5lZEB3b3JsZC5zdGQuY29tCgpN
YW55IHRoYW5rIGdvIHRvIHRoZSBvcmlnaW5hbCBhdXRob3I6IFRob21hcyBCb2xsICh0YkBib2xs
LmNoKS4KCtM5AgWQBgDIAAAADAAAAAMAIQ4AAAAAAwALN/////8DACAONAEAAAMA9w8AAAAAQAAH
MFDhjcbuFb8BQAAIMFDhjcbuFb8BAwAFNwEAAAAeAAc3AQAAAAgAAABBVVRIT1JTAB4AATABAAAA
FgAAAEFVVEhPUlMgZmlsZSBmb3IgdG5lZgAAAB4ADjcBAAAAGQAAAGFwcGxpY2F0aW9uL29jdGV0
LXN0cmVhbQAAAAADABA3AAAAAAIB+Q8BAAAAEAAAAB8Bf8/QgdMRp6UACMcbyo1kLA==
--_000_AM0PR09MB277052D243401DC2ED6D32A4B27C0AM0PR09MB2770eurp_--