diff --git a/NEWS b/NEWS index 707c9d30b..e6372e2a8 100644 --- a/NEWS +++ b/NEWS @@ -12,6 +12,7 @@ Bug fixes - [eas] make sure we don't sleep for too long when EAS processes need interruption - [eas] fixed recurring events with timezones for EAS (#3822) - [eas] improve handling of email folders without a parent + - [eas] never send IMIP reply when the "initiator" is Outlook 2013/2016 - [core] only consider SMTP addresses for AD's proxyAddresses (#3842) 2.3.16 (2016-09-28) diff --git a/SoObjects/Appointments/SOGoCalendarComponent.m b/SoObjects/Appointments/SOGoCalendarComponent.m index 4b57a4e0e..478785925 100644 --- a/SoObjects/Appointments/SOGoCalendarComponent.m +++ b/SoObjects/Appointments/SOGoCalendarComponent.m @@ -935,6 +935,14 @@ NSData *bodyData; SOGoDomainDefaults *dd; + // We never send IMIP reply when the "initiator" is Outlook 2013/2016 over + // the EAS protocol. That is because Outlook will always issue a SendMail command + // with the meeting's response (ie., IMIP message with METHOD:REPLY) so there's + // no need to send it twice. Moreover, Outlook users can also choose to NOT send + // the IMIP messsage at all, so SOGo won't send one without user's consent + if ([[context objectForKey: @"DeviceType"] isEqualToString: @"WindowsOutlook15"]) + return; + dd = [from domainDefaults]; if ([dd appointmentSendEMailNotifications] && [event isStillRelevant]) {