Mail: Deal with winmail.dat files sent by Outlook

Created on 25 Feb 2020  路  15Comments  路  Source: nextcloud/mail

Feature Request

Outlook sometimes sends e-mail attachments encapsulated in a file named "winmail.dat". It would be nice to be able to extract the attachments from "winmail.dat".


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

0. to triage enhancement stale

Most helpful comment

Thanks for your thourough answer, Christoph. We're a startup and do not yet have the capabilities to opt for the enterprise edition but I will definitely closely consider this, once we're more liquid!
I also can't program PHP, so that would probably be a waste of time.

Anyway thanks a lot for your time to explain the situation to me. All your hard work is very much appreciated! We love what you're doing!

Stay save!

All 15 comments

I'm very hesitant adding support for a vendor-specific, proprietary format if it's not specific in any RFC or so.

I know what you mean and I understand it. Unluckily, you are sometimes forced to deal with these things, so if someone has an idea and is willing to implement it, it might be a nice addition.
If you don't think so, feel free to close it here.

Let's leave it open for a while. We'll see if anyone else shows interest.

Probably fitting in this topic:
Outlook sometimes sends calendar invite files without the ".ics" ending, which in turn don't get detected by Nextcloud Mail. Is there already another issue for this open, or should i open one, with a bit more detail?
I also mentioned it in this reddit thread:
https://www.reddit.com/r/NextCloud/comments/fq211k/nextcloud_mail/

I'd be curious to know the mime type of that attachment. Could you inspect the message source with another client?

Hi Christoph!
In Geary and Evolution (Gnome) I can see the file attachement.
Viewing the source of the email in Geary yields this information:

`Return-Path: XXXXXXXX@live.de
X-Original-To: [email protected]
Delivered-To: [email protected]
Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2100.outbound.protection.outlook.com [40.92.91.100])
by XXXXXX.netcup.net (Postfix) with ESMTPS id 16B32A246E
for XXXXXX@XXXXX.io; Mon, 23 Mar 2020 20:41:33 +0100 (CET)
Authentication-Results: XXXXXXX;
dkim=none header.[email protected];
spf=pass (sender IP is 40.92.91.100) smtp.[email protected] smtp.helo=EUR05-AM6-obe.outbound.protection.outlook.com
Received-SPF: pass (XXXXXXX: domain of live.de designates 40.92.91.100 as permitted sender) client-ip=40.92.91.100; [email protected]; helo=EUR05-AM6-obe.outbound.protection.outlook.com;
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
b=hpK2hAC2vC9PCV8C5P/80mOrdn6omGfT8t53yB09dSOcxbyfjOdYMH/DKGmgDzeZ2Tq/D7lEHHARl5yWrTrNgIz3VHvTgmx1PR6yYg/TUKB8ELHC479tT12z6M+AohGds4z4nH8OMMRt5y9oVEsGsEj/EP5VmlWw8h4eMAvhvVlANR3OAYlvVy0f1ic0B+yklKquSMH4EoAIiGAXwicu3hCWmF8Mdde8osZS70QIZZ+C4p7pVJKyzpEHpSSvSXgWvYPeazR4HV2iZL6Uyfjv9pE9mUGXjnVFr8c0LT8Fdiln+S4n3QDBAE1i/Z8B1p6ejWuHBu/WlpsPgDX0M6XMoQ==
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=wRDd3lfUkwqklN3tdAjUXH2SpdFmEdSqeGf1lFuj8wg=;
b=b19eRln4KdMmkdxw3ouIZ+5I3m6zgHw2NyffYRaI4q+bQUDqhkA9QpwHfBbYs+wF/MCwFqFNlMttFejU8v4iQGbwM6888mdnLNt4acfqYDeoQQFrgA4PLt6kByiqHFrjC6/9FXqOcQOKGlfRCwbh2yPwKwuK7B3cNeX4+gJxkgSSMQsOPYyxY1E50wBuN1l1rsyuotYJGSK7Z8Oytk67I0i/kxbe2hyLr2+YktBk2c73r9Mrb+bFouVM+myPMj+/VOlyzJXJIwafc48LSOSYMchrEHlubXKaMhYUwb1WSUc/d2BHcgzJt7OdlB/uNMp9zga9CBQGn2upnfazQqDBQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
dkim=none; arc=none
Received: from AM6EUR05FT029.eop-eur05.prod.protection.outlook.com
(2a01:111:e400:fc11::39) by
AM6EUR05HT238.eop-eur05.prod.protection.outlook.com (2a01:111:e400:fc11::364)
with Microsoft SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.13; Mon, 23 Mar
2020 19:41:30 +0000
Received: from AM0PR08MB4212.eurprd08.prod.outlook.com (10.233.240.54) by
AM6EUR05FT029.mail.protection.outlook.com (10.233.240.74) with Microsoft SMTP
Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
15.20.2814.13 via Frontend Transport; Mon, 23 Mar 2020 19:41:30 +0000
Received: from AM0PR08MB4212.eurprd08.prod.outlook.com
([fe80::7de1:cc9d:e877:ed07]) by AM0PR08MB4212.eurprd08.prod.outlook.com
([fe80::7de1:cc9d:e877:ed07%6]) with mapi id 15.20.2835.021; Mon, 23 Mar 2020
19:41:30 +0000
From: XXXXX XXXX@live.de
To: "[email protected]" XXXX.XXXX@XXXX.io
Subject: test3
Thread-Topic: test3
Thread-Index: AdYBSww81jyQkV+WC06I4Vn7YHYbaQ==
Date: Mon, 23 Mar 2020 19:41:30 +0000
Message-ID:
AM0PR08MB4212871D08416758E92296EFECF00@AM0PR08MB4212.eurprd08.prod.outlook.com
Accept-Language: de-DE, en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-publictraffictype: Email
x-incomingtopheadermarker:
OriginalChecksum:EC3E3C254D3983C498E2CEB3B54D6AFC57F8AC4009C9B766844F923918C43E5F;UpperCasedChecksum:7ACED566A01AC7284DDA68376D016F7A50EF0BB994E046B5F5C093C611610881;SizeAsReceived:6969;Count:45
x-ms-exchange-calendar-series-instance-id:
BAAAAIIA4AB0xbcQGoLgCAAAAACeFTYMSwHWAQAAAAAAAAAAEAAAAO4buFsfEOBPhgiTCCTOnZY=
x-tmn: [dMKbe4mcSWvSHW4aiaAVHQnR2uWp00nw]
x-incomingheadercount: 45
x-eopattributedmessage: 0
x-ms-office365-filtering-correlation-id: a819223c-27b8-408b-3053-08d7cf622f24
x-ms-traffictypediagnostic: AM6EUR05HT238:MeetingMessage
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
9XMsvjQMHXipa/ID6CMvjtQpsk0jXgAjzOzkxFrCaphWWJBhMe5zZH0KoswpNjG/
x-ms-exchange-antispam-messagedata:
GQKH+P/qLjaeMZUBjx5w2ne9hKXhJlSc0yM/DOQqvRz90NGKSceNuhBEoBI5O5oORkBmVXCKe+gCGTB5ojhfat7OSlP52XKo9e4HKf4YBorXb+xjScZWBZ2zg5FDILnwMvacciTUfjBDbbHPUwklrA==
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative;
boundary="_000_AM0PR08MB4212871D08416758E92296EFECF00AM0PR08MB4212eurp_"
MIME-Version: 1.0
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a819223c-27b8-408b-3053-08d7cf622f24
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2020 19:41:30.0470
(UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Internet
X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6EUR05HT238
X-NC-CID: 8pIw7NguBEnmYauJ6lsNWaqDTZER6Q/S6TAtB4VrZDUS

--_000_AM0PR08MB4212871D08416758E92296EFECF00AM0PR08MB4212eurp_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

--_000_AM0PR08MB4212871D08416758E92296EFECF00AM0PR08MB4212eurp_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

--_000_AM0PR08MB4212871D08416758E92296EFECF00AM0PR08MB4212eurp_
Content-Type: text/calendar; charset="utf-8"; method=REQUEST
Content-Transfer-Encoding: base64

QkVHSU46VkNBTEVOREFSDQpNRVRIT0Q6UkVRVUVTVA0KUFJPRElEOk1pY3Jvc29mdCBFeGNoYW5n
ZSBTZXJ2ZXIgMjAxMA0KVkVSU0lPTjoyLjANCkJFR0lOOlZUSU1FWk9ORQ0KVFpJRDpXLiBFdXJv
cGUgU3RhbmRhcmQgVGltZQ0KQkVHSU46U1RBTkRBUkQNCkRUU1RBUlQ6MTYwMTAxMDFUMDMwMDAw
DQpUWk9GRlNFVEZST006KzAyMDANClRaT0ZGU0VUVE86KzAxMDANClJSVUxFOkZSRVE9WUVBUkxZ
O0lOVEVSVkFMPTE7QllEQVk9LTFTVTtCWU1PTlRIPTEwDQpFTkQ6U1RBTkRBUkQNCkJFR0lOOkRB
WUxJR0hUDQpEVFNUQVJUOjE2MDEwMTAxVDAyMDAwMA0KVFpPRkZTRVRGUk9NOiswMTAwDQpUWk9G
RlNFVFRPOiswMjAwDQpSUlVMRTpGUkVRPVlFQVJMWTtJTlRFUlZBTD0xO0JZREFZPS0xU1U7QllN
T05USD0zDQpFTkQ6REFZTElHSFQNCkVORDpWVElNRVpPTkUNCkJFR0lOOlZFVkVOVA0KT1JHQU5J
WkVSO0NOPUp1bGlhIEdlaXNzOm1haWx0bzpKLkdlaXNzQGxpdmUuZGUNCkFUVEVOREVFO1JPTEU9
UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPU5FRURTLUFDVElPTjtSU1ZQPVRSVUU7Q049ZGF2aWQu
ZG9obQ0KIGVuQG9jZWxsLmlvOm1haWx0bzpkYXZpZC5kb2htZW5Ab2NlbGwuaW8NCkRFU0NSSVBU
SU9OO0xBTkdVQUdFPWRlLURFOlxuDQpVSUQ6MDQwMDAwMDA4MjAwRTAwMDc0QzVCNzEwMUE4MkUw
MDgwMDAwMDAwMDlFMTUzNjBDNEIwMUQ2MDEwMDAwMDAwMDAwMDAwMDANCiAwMTAwMDAwMDBFRTFC
Qjg1QjFGMTBFMDRGODYwODkzMDgyNENFOUQ5Ng0KU1VNTUFSWTtMQU5HVUFHRT1kZS1ERTp0ZXN0
Mw0KRFRTVEFSVDtUWklEPVcuIEV1cm9wZSBTdGFuZGFyZCBUaW1lOjIwMjAwMzIzVDIzMDAwMA0K
RFRFTkQ7VFpJRD1XLiBFdXJvcGUgU3RhbmRhcmQgVGltZToyMDIwMDMyNFQwMDAwMDANCkNMQVNT
OlBVQkxJQw0KUFJJT1JJVFk6NQ0KRFRTVEFNUDoyMDIwMDMyM1QxOTQxMjlaDQpUUkFOU1A6T1BB
UVVFDQpTVEFUVVM6Q09ORklSTUVEDQpTRVFVRU5DRTowDQpMT0NBVElPTjtMQU5HVUFHRT1kZS1E
RToNClgtTUlDUk9TT0ZULUNETy1BUFBULVNFUVVFTkNFOjANClgtTUlDUk9TT0ZULUNETy1PV05F
UkFQUFRJRDoyMTE4MzY3OTAyDQpYLU1JQ1JPU09GVC1DRE8tQlVTWVNUQVRVUzpURU5UQVRJVkUN
ClgtTUlDUk9TT0ZULUNETy1JTlRFTkRFRFNUQVRVUzpCVVNZDQpYLU1JQ1JPU09GVC1DRE8tQUxM
REFZRVZFTlQ6RkFMU0UNClgtTUlDUk9TT0ZULUNETy1JTVBPUlRBTkNFOjENClgtTUlDUk9TT0ZU
LUNETy1JTlNUVFlQRTowDQpYLU1JQ1JPU09GVC1ET05PVEZPUldBUkRNRUVUSU5HOkZBTFNFDQpY
LU1JQ1JPU09GVC1ESVNBTExPVy1DT1VOVEVSOkZBTFNFDQpYLU1JQ1JPU09GVC1MT0NBVElPTlM6
W10NCkJFR0lOOlZBTEFSTQ0KREVTQ1JJUFRJT046UkVNSU5ERVINClRSSUdHRVI7UkVMQVRFRD1T
VEFSVDotUFQxNU0NCkFDVElPTjpESVNQTEFZDQpFTkQ6VkFMQVJNDQpFTkQ6VkVWRU5UDQpFTkQ6
VkNBTEVOREFSDQo=

--_000_AM0PR08MB4212871D08416758E92296EFECF00AM0PR08MB4212eurp_--
`

Content-Type: text/calendar

That is fine. But no content-disposition or name, thus I think our app just won't detect it as attachment.

Seems so. It doesn't work with "Microsoft Mail" either. In Geary at least I can see the file. Receiving this in Outlook obviously works and it seems like Thunderbird and Evolution implemented a fix - so they can also directly import this into their calendars.
Could such a fix also be added to Nextcloud Mail?
It's just such an extremely common case to receive calendar invites from Outlook.

I'm very hesitant adding support for a vendor-specific, proprietary format if it's not specific in any RFC or so.

:man_shrugging: I'm not sure

Don't want to be too nagging here... A fix would just have such a large and positive impact on the UX. Basically this is the one thing holding me back, moving my entire company over to Nextcloud Mail and I'm pretty sure this is a problem for others as well - especially in businesses.

I totally share your dislike for deviating from standards as Microsoft seems to do here but unfortunately they have such a market power...

Is there anything I could do to convince you? A poll, a bug bounty e.g.?

Is there anything I could do to convince you? A poll, a bug bounty e.g.?

Bug bounties only help the community contributors. As an employee of Nextcloud GmbH I can't accept them and thus I always put them on other tickets should I claim some.

If you have an enterprise subscription for you company we can of course prioritize this feature. I just lack the time to look into this at the moment. And I fully do understand this is important to you, but so are the many other feature requests for other users.

If I touch related code in the future I might have a look, but I can't promise it. Hope this is understandable.

Contributions are welcome any time. If you want to fix it yourself I can give some pointers to get started :)

Thanks for your thourough answer, Christoph. We're a startup and do not yet have the capabilities to opt for the enterprise edition but I will definitely closely consider this, once we're more liquid!
I also can't program PHP, so that would probably be a waste of time.

Anyway thanks a lot for your time to explain the situation to me. All your hard work is very much appreciated! We love what you're doing!

Stay save!

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Just want to express my preference to have at least the nonstandard calendar attachments supported in NextCloud mail.

Would it be possible (I mean technically) to make a separate NC plugin which would add such functionality to NC Mail (possibly together with winmail.dat)? I might ask some devs to take a look at this if it'll be viable.

there is no plugin infrastructure for this app. if it's supposed to work then from within the app.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

StCyr picture StCyr  路  4Comments

ChristophWurst picture ChristophWurst  路  3Comments

CHazz picture CHazz  路  3Comments

benks-io picture benks-io  路  4Comments

HLFH picture HLFH  路  3Comments