I'm creating the iCal using ical4j and sending it using Java Mail API 1.4.7. When sending it both to google.mail and outlook.com the organizer receives the email textual part only. All other recipients receive the email wrapped with the "Add to calendar" or "RSVP" buttons (for attendees).
If remove the recipient email from the organizer property, then he receives the email with the wrappers, but then the meeting has no organizer...
My problem with this, is that the organizer I created the event on behalf of, does not get the event created on his calendar.
That's the email sent:
Delivered-To: test+JohnDoe1st@woo.io
Received: by 10.202.80.11 with SMTP id e11csp2599297oib;
Wed, 24 Feb 2016 11:28:44 -0800 (PST)
X-Received: by 10.182.165.67 with SMTP id yw3mr33375476obb.45.1456342124175;
Wed, 24 Feb 2016 11:28:44 -0800 (PST)
Return-Path: <bounces+1797494-17b1-test+JohnDoe1st=woo.io@mail.woo.io>
Received: from o1.email.highr.io (o1.email.highr.io. [50.31.35.179])
by mx.google.com with ESMTPS id n205si3660143oib.92.2016.02.24.11.28.43
for <test+JohnDoe1st@woo.io>
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Wed, 24 Feb 2016 11:28:44 -0800 (PST)
Received-SPF: pass (google.com: domain of bounces+1797494-17b1-test+JohnDoe1st=woo.io@mail.woo.io designates 50.31.35.179 as permitted sender) client-ip=50.31.35.179;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of bounces+1797494-17b1-test+JohnDoe1st=woo.io@mail.woo.io designates 50.31.35.179 as permitted sender) smtp.mailfrom=bounces+1797494-17b1-test+JohnDoe1st=woo.io@mail.woo.io;
dkim=pass header.i=@woo.io
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=woo.io;
h=from:reply-to:to:subject:mime-version:content-type; s=s1;
bh=wagu2M/f9bJi3poSZhvX4ST1TCs=; b=0coUojPVzsP3yH5mGPTzVsFS5c7h9
pd7uMlc3WLx+2dciB/2w0gG5BoEIYTzdk68c7GLQWj6XhskmS4CWed9y5dQt2CEy
ei3pmJWxoHNMl2hjGW+4nHPSwM5mcbH8BH0YCwXZBAJ1yzc0ymJSwD4+vQzfhOA0
Skj8s1OFPz2EqA=
Received: by filter0422p1mdw1.sendgrid.net with SMTP id filter0422p1mdw1.25440.56CE046718
2016-02-24 19:28:39.292147439 +0000 UTC
Received: from 10.0.0.3 (dynamic-213-57-67-77.hotnet.net.il [213.57.67.77])
by ismtpd0002p1lon1.sendgrid.net (SG) with ESMTP id UWS8Q1EHSTGlRwEBPWD0Jg
for <test+JohnDoe1st@woo.io>; Wed, 24 Feb 2016 19:28:39.206 +0000 (UTC)
Date: Wed, 24 Feb 2016 19:28:52 +0000 (GMT)
From: "(DevEnv) Woo.io" <test+scheduler@woo.io>
Reply-To: "(DevEnv) Woo.io" <test+scheduler@woo.io>
To: test+JohnDoe1st@woo.io
Message-ID: <1211793890.13.1456342132980.JavaMail.User1@JohnK-Laptop>
Subject: A phone call with John Doe has been scheduled
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_12_325908549.1456342132978"
X-SG-EID: eKXc83Aurbu+DQRCT+WAXI9wVN9EN8h4r+iXFZL+oEoeV9DlDScoApg++iQXhvj0VXg9jyy3l1JsyF
PsfdNpdxcM5ze8grHttshgo/s5pOH3DSyhvMx0eioa5nVYxSYH0hO4FSAN+J2/beLbpNQqZNUIe1jo
GAcnhBNsAtYBnw9pDhxr5SW46As/nuflbBvdpkATzhR5NTXgjF0POaXGBJyxRUvOfs1noR0m4IF4D9
0=
X-SG-ID: E59GF+CtKDB+cFOQwHaDXPNahQbunt2rHtUM1rTwltQKUGjmerW2HyowTumyVQQhTgF/leflKriflw
bWodCKpaW63gxumD3qe89wS7l9a+KOifOwoLXTLVFZnXN8+QzO
------=_Part_12_325908549.1456342132978
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit
Hey John,<br/>
<br/>
Your phone call with <a href="http://maillink.highr.io/wf/click?upn=3ibeNM06sk3hwkvcie1DPBgy7cYOOttXS5-2BLoUaPtsOGqA59P5fO6daaC-2FElTpb18Jugca5lJfpp-2FaXIMttD6y5tgiFSow1UHrY3IIYaewFK2XreFYpGrANelHjqpiNmFB8f-2B-2BXzyGI-2FVlZNml60HYdo3DbLqHdoCX6HFNrW4YOs4JLSzMBrGeqED36P1mZ-2F-2BjFL5-2Fib02yimGdsxKGC7HVsnrOQWPh-2FWbZ7frPksnbvjEid588BXSVaA7hlKB1jL1-2F5PBv1K8s06lX4apnVoZbVUE-2FZQGCsMdk9W7R8gfjaN77nlCHj5KFhMYJwVDBZ_GdV8Hrdq-2BQbZs-2Fm93FPKckJV25NkkcUaolDJXkLlnpBg0Xbct0oKET0-2FnwIfl-2BW7eIwP1p0BhqiEyHB7UrRv7OOu8HKK2-2BClqqKJ-2F27-2BP2RlYB-2BEG5zIRJ6dXp3aE-2BCGj3b1q9XNiBMKQfgXg45DWm-2FxEHF3n0Te-2FcoKzoZ1LjgLS09b17G8wvKVGxY9QqaiCnkZ4-2By04QexB6yqM2D5fbpw6Vh8eeC41BXZufR3yawoYbkTpD00YbswRH2RXS-2FP7KJwJIRQJ6A0Xkh-2BEe7Lks-2FVS9yQG0u0VUEPrSPkvmne9JwGqAC5hP0BnvDJOVO3T2qICMwKZhII6abrGmw9qA-3D-3D" target="_blank">John Doe</a> for the Software Engineer position is scheduled for Thu, Feb 25, 2016 at 08:00 (GMT+2).<br/>
<br/>
We've let the candidate know that you will call them at this number 97211111112.<br/>
<br/>
Cheers,<br/>
The WOO Team<img src="http://maillink.highr.io/wf/open?upn=GdV8Hrdq-2BQbZs-2Fm93FPKckJV25NkkcUaolDJXkLlnpBg0Xbct0oKET0-2FnwIfl-2BW7eIwP1p0BhqiEyHB7UrRv7GqRg7jOp-2BAbQ2UPQH8bOgR-2FU-2FYLgxBsp0t-2BhtjHYTwIYSWbbiCB-2BX9fFdgJLwjjGviXI7Cv1G-2BojfLNKLqM716xBEEEOZt-2FmF05l9JwEHcX4yP1PTaZsbx8eeU2Su6yBDIr28ZQtbVkglHvfp-2BNkqyRWTvbCj8zIiCwlLgdBc069-2Bo7RRFPqYxrxciYHJknt2ealaYUMX52-2BceFyyau8EPxjnbU508-2FI2pd8breJeYGh7khtRHOJYDT5J0SQ9ztqBSFTeNARQ1CHhBpcP04zgk-3D" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;"/>
------=_Part_12_325908549.1456342132978
Content-Type: text/calendar; charset=us-ascii
Content-Transfer-Encoding: 7bit
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTAMP:20160224T192852Z
DTSTART:20160225T060000Z
DTEND:20160225T063000Z
SUMMARY:John Doe <> Highr.io - Interview
ORGANIZER;CN=Woo.io:MAILTO:test+scheduler@woo.io
ATTENDEE;CN=John Doe 1st;PARTSTAT=ACCEPTED;RSVP=TRUE:MAILTO:Johnk@hig
hr.io
ATTENDEE;CN=John Doe;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;ROLE=REQ-PARTICI
PANT:MAILTO:Doe@hotmail.com
UID:20160224T192852Z-1@fe80:0:0:0:9c19:bf77:322f:47e5%eth1
END:VEVENT
END:VCALENDAR
------=_Part_12_325908549.1456342132978--
Any idea why it behaves like that and how to solve this?
The iTIP/iMIP protocol does not cover the scenario of "inviting the organizer" via email (see also Change event description for organizer using VCalendar). So it is really up the the IMIP client to choose to offer or not the ability to "import" that event.
Now it is a common practice to include the ORGANIZER also as an ATTENDEE (typically with a PARTSTAT=ACCEPTED) but I suspect that in your case, it wont be enough.
It seems like what you consider the organizer is more of an ATTENDEE with a ROLE=CHAIR and the ORGANIZER is whatever application did put of the meeting together. Of course, this means that now, REPLYs will go to your 'special/application' organizer and not to the chair of the meeting, which means that you will have to deal with handling those replies, and resend updated versions of your meeting to the various attendees.