在不使用Outlook的情况下发送实际的Outlook会议请求

时间:2013-09-16 11:49:28

标签: ruby-on-rails outlook icalendar meeting-request

所以,使用rails / ruby​​& linux我希望能够发送一个真实的,真实的Outlook风格的会议请求。它是真实的,它应该像从Outlook发送时的会议请求一样。

请注意,我并不是指将iCal / vCal作为电子邮件的附件发送 - 我已经可以这样做了。 iCal路线的问题是:

  • 在Outlook中,您必须打开.ics附件(双击)以获取会议详细信息&接受它
  • 如果电子邮件收件人是会议的组织者(ical组织者电子邮件==当前用户电子邮件),那么该用户无法将会议添加到他们的日历中(Outlook有帮助地认为,因为您是组织者,您已经知道关于它)
  • 在iPhone上(我知道......)带有附件的电子邮件请勿显示在您收到的邀请列表中。这里使用iPhone的每个人都会在此列表中查看他们需要接受的邀请,因此我也需要出现在那里。 Outlook会议请求显示在此处。

所以有人知道如何从rails发送Outlook会议请求吗?

UPDATE 我认为描述我想要实现的目标会有所帮助:

3人:James @ company.com,Bob @ company.com和Alice@company.com

在轨道上,詹姆斯安排与爱丽丝会面,并邀请鲍勃作为与会者。 rails应用程序现在应该向James,Alice和Bob(作为参与者)发送会议请求(以James作为组织者),这样他们三个人都可以轻松地将此会议添加到他们的Outlook日历中(此时我不会关心衰退/ maybes)。此外,Bob使用他的iPhone通过ActiveSync链接到Exchnage帐户,所以这对他也有效。

更新2:这是我的ics文件的内容(附在HTML电子邮件中),通过电子邮件发送到james@company.com(组织者)和与会者。每个人都需要能够将其添加到他们的日历中:

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

当我的(詹姆斯)展示中出现该电子邮件时,有一个.ics附件(该电子邮件另外是常规HTML电子邮件)。打开附件我被告知,作为会议组织者,我不需要回复&没有“接受”或“添加到日历”选项

更新3:

这就是我现在发送的内容:

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

2 个答案:

答案 0 :(得分:2)

请勿将iCal文件作为附件发送。上述数据必须是邮件中唯一的MIME部分,其内容类型必须为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

答案 1 :(得分:0)

所有不能使用ICS文件,Outlook中的一个文件ICS或EML(outlook express)永远不会像MSG格式(outlook格式)一样发送,这样,将EML转换为MSG就需要一个进程“导入”和Outlook有一个并且工作正常,但在outlook express中,会议不存在且outlook无法导入,因为没有机制这样做,另一方面,ICS不是Outlook会议请求文件,不一样,您可以尝试创建会议请求并将其保存在扩展名为msg的文件中,之后您可以看到该图标是图标会议,打开该文件后会显示会议请求。< / p>

如果您希望按照自己的意愿工作,则需要构建Outlook会议请求格式并将其发送到Outlook网络。