5

So, Using rails/ruby & linux I want to be able to send an actual, authentic Outlook-style meeting request. Authentic in that it should behave like a meeting request behaves when sent from Outlook.

Note that I don't mean sending an iCal/vCal as an attachment to an email - I can already do that. The issue with the iCal route are:

  • In Outlook, you have to open the .ics attachment (double-click) to get the meeting details & accept it
  • If the email recipient is the organiser of the meeting (ical organizer email == current user email) then that user can't add the meeting to their calendar (Outlook helpfully thinks that as you're the organiser, you already know about it)
  • On an iPhone (I know...) emails with attached icals DO NO show up in the list of invitations you've received. Everyone here who uses an iPhone looks in this list for invitations they need to accept, so mine need to show up there too. Outlook meeting requests show up in here.

So does anyone know how to send an outlook meeting request from rails??

UPDATE I thought it would be helpful to describe what I want to achieve:

3 people: James@company.com, Bob@company.com and Alice@company.com

On the rails app James arranges a meeting with Alice, and invites Bob along as an attendee. The rails app should now send a meeting request (with James as the organiser) to James, Alice and Bob (as an attendee), such that all three of them can easily add this meeting to their Outlook calendar (at this point I do not care about declines/maybes). Additionally, Bob uses his iPhone linked via ActiveSync to an Exchnage account, so this should work for him as well.

UPDATE 2: Here's the content of my ics file (this is attached to an HTML email) which is emailed to james@company.com (organizer) plus the attendees. Everyone needs to be able to add this to their calendar:

BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
PRODID:iCalendar-Ruby
BEGIN:VEVENT
ORGANIZER:james@company.co.uk
ATTENDEE:srg@company.co.uk
ATTENDEE:at@company.co.uk
DESCRIPTION:QBR meeting\nWe will discuss the following:\n\nLocal Market\nBusinessPlanning\nProduct Range\nMarketing & Retailing Activity\n
DTEND:20130914T154500Z
DTSTAMP:20130911T140600Z
DTSTART:20130914T134500Z
CLASS:PRIVATE
LAST-MODIFIED:20130911T140600Z
LOCATION:Somewhere in a far off land
SEQUENCE:0
SUMMARY:Meeting with The Wizard
UID:MEETING71
URL:http://internal.company.co.uk/meetings/71
END:VEVENT
END:VCALENDAR

When that email appears in my (james) outlook, There is a .ics attachment (the email is otherwise a regular HTML email). Opening the attachment I get told that, as the meeting organizer, I do not need to reply & there is no "accept" or "add to calendar" option

UPDATE 3:

This is what I'm now sending:

Date: Mon, 16 Sep 2013 16:02:52 +0100
From: app@company.co.uk
To: james@company.co.uk
Message-ID: <52371d9c820c2_475537fe74518a2@rails-devel.mail>
Subject: Meeting with Someone Interesting
Mime-Version: 1.0
Content-Type: text/calendar;
 charset=UTF-8;
 method=REQUEST;
 name='meeting.ics'
Content-Transfer-Encoding: 7bit

BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
PRODID:iCalendar-Ruby
BEGIN:VEVENT
ATTENDEE:james@company.co.uk
ATTENDEE:sjt@company.co.uk
ATTENDEE:at@company.co.uk
DESCRIPTION:QBR meeting\nWe will discuss the following:\n\nProfit\nProfit &
  Loss\n
DTEND:20130913T113000Z
DTSTAMP:20130911T133500Z
DTSTART:20130913T093000Z
CLASS:PRIVATE
LAST-MODIFIED:20130916T150200Z
LOCATION:Someplace
ORGANIZER:james@company.co.uk
SEQUENCE:0
SUMMARY:Meeting with Someone Interesting
UID:MEETING69
URL:http://10.0.0.29:3000/meetings/69
END:VEVENT
END:VCALENDAR
user2563682
  • 163
  • 3
  • 9
  • 1
    having the same problem. working in gmail, outlook treats it as an attachment, any help? – nik-v Mar 25 '14 at 19:23

2 Answers2

2

Do not send the iCal file as an attachment. The data above must be the only MIME part in the message and its content type must be text/calendar

MIME-Version: 1.0
Subject: test
To: <someuser@dom,ain.demo>
Content-Type: text/calendar;
    method=REQUEST;
    name="meeting.ics"

BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
PRODID:iCalendar-Ruby
BEGIN:VEVENT
ORGANIZER:james@company.co.uk
ATTENDEE:srg@company.co.uk
ATTENDEE:at@company.co.uk
DESCRIPTION:QBR meeting\nWe will discuss the following:\n\nLocal Market\nBusinessPlanning\nProduct Range\nMarketing & Retailing Activity\n
DTEND:20130914T154500Z
DTSTAMP:20130911T140600Z
DTSTART:20130914T134500Z
CLASS:PRIVATE
LAST-MODIFIED:20130911T140600Z
LOCATION:Somewhere in a far off land
SEQUENCE:0
SUMMARY:Meeting with The Wizard
UID:MEETING71
URL:http://internal.company.co.uk/meetings/71
END:VEVENT
END:VCALENDAR
Dmitry Streblechenko
  • 62,942
  • 4
  • 53
  • 78
  • Ok, thats a start. I have modified my mailer to send the ical inline. I also delivered the email to a file so I could see what was going on. Please see update #3 in my original. Still not working though. I get a normal outlook email with ics attachment (which is named as "not supported calendar message.ics") – user2563682 Sep 16 '13 at 15:10
  • Another point. In my original ics I had put method=REQUEST. THis was incorrect, I have got method=PUBLISH instead (by calling cal.publish). I canb't seem to find out how to set it to method=REQUEST - cal.method = "REQUEST" causes a no_method error – user2563682 Sep 16 '13 at 15:18
  • That above in #3 works fine when sent to a gmail account by the way - it's definitely something with Outlook... – user2563682 Sep 16 '13 at 15:26
  • Can post the complete MIME source of the message that you are sending? – Dmitry Streblechenko Sep 17 '13 at 01:23
  • If you look in my original post, at the bottom in update #3 is a complete file dump of the email. Is that what you asked for? – user2563682 Sep 17 '13 at 08:46
  • That looks perfectly fine. If I save that as an EML file, Outlook opens it just fine as a meeting request. – Dmitry Streblechenko Sep 17 '13 at 15:12
0

All not work with ICS file, with Outlook a one of this files ICS or EML (outlook express) never are sent like a MSG format (outlook format), in this way, to convert a EML to MSG you need a process of "import" and Outlook have one and that work fine, but in outlook express, meeting not exist and outlook can't import because not have a mechanism to do that, in other side, a ICS is not a Outlook meeting request file, is not the same, you can try to create a meeting request and save it in a file with extension msg, after doing that you can see that icon is a icon meeting and when open that file then it show you a outlook meeting request.

You need to build a Outlook meeting request format and send it in Outlook network if you want to that working as you wish.