2013-09-16 126 views
5

因此,使用rails/ruby​​ & linux我希望能够发送实际的,真实的Outlook风格的会议请求。正确的,它应该像从Outlook发送时的会议请求那样行为。在不使用Outlook的情况下发送实际的outlook会议请求

请注意,我并不是说发送iCal/vCal作为电子邮件的附件 - 我已经可以做到这一点。与iCal的路线的问题是:

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

所以没有人知道如何发送一个展望会议请求从轨?

UPDATE 我认为这将是有帮助的描述我想达到的目标:

3人:[email protected][email protected][email protected]

在rails应用程序James安排与Alice会面,并邀请Bob一起作为与会者。 Rails应用程序现在应该向James,Alice和Bob(作为与会者)发送一个会议请求(以James为组织者),以便他们三人都可以轻松地将此会议添加到他们的Outlook日历中(在这一点上,我确实不关心衰退/ maybes)。此外,鲍勃使用他的iPhone通过ActiveSync链接到一个Exchnage帐户,所以这也适用于他。

更新2:以下是我的ics文件(附加到HTML电子邮件)的内容,它通过电子邮件发送给[email protected](组织者)以及与会者。每个人都需要能够把它添加到自己的日历:

BEGIN:VCALENDAR 
VERSION:2.0 
CALSCALE:GREGORIAN 
METHOD:REQUEST 
PRODID:iCalendar-Ruby 
BEGIN:VEVENT 
ORGANIZER:[email protected] 
ATTENDEE:[email protected] 
ATTENDEE:[email protected] 
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: [email protected] 
To: [email protected] 
Message-ID: <[email protected]> 
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:[email protected] 
ATTENDEE:[email protected] 
ATTENDEE:[email protected] 
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:[email protected] 
SEQUENCE:0 
SUMMARY:Meeting with Someone Interesting 
UID:MEETING69 
URL:http://10.0.0.29:3000/meetings/69 
END:VEVENT 
END:VCALENDAR 
+1

有同样的问题。在gmail工作,outlook将它视为附件,有帮助吗? –

回答

2

不要将iCal文件作为附件发送。以上数据必须是消息中的唯一MIME部分,其内容类型必须

MIME-Version: 1.0 
Subject: test 
To: <[email protected],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:[email protected] 
ATTENDEE:[email protected] 
ATTENDEE:[email protected] 
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 
+0

好的,这是一个开始。我修改了我的邮件发送内联。我还将电子邮件发送到一个文件,以便我可以看到发生了什么。请参阅我的原始更新#3。但仍然没有工作。我得到一个正常的电子邮件与ics附件(它被命名为“不支持日历message.ics”) – user2563682

+0

另一点。在我原来的ics中我已经把method = REQUEST。这是不正确的,我有方法=发布,而不是(通过调用cal.publish)。我似乎无法找到如何将其设置为method = REQUEST - cal.method =“REQUEST”导致no_method错误 – user2563682

+0

上面#3在顺便发送到gmail帐户时工作正常 - 这绝对是Outlook ... – user2563682

0

所有未使用ICS的文件工作,与Outlook的这一个文件ICS或EML(Outlook Express的)永远是文本/日历是以MSG格式(Outlook格式)发送的,通过这种方式,将EML转换为MSG,您需要一个“导入”过程,Outlook有一个并且工作正常,但在Outlook Express中,会议不存在,Outlook可以' t导入,因为没有这样的机制,另一方面,ICS不是Outlook会议请求文件,不是相同的,您可以尝试创建会议请求并将其保存在具有扩展名msg的文件中,然后执行你可以看到该图标是一个图标会议,当打开该文件时,它会显示一个Outlook会议请求。

如果你想按照你的意愿工作,你需要建立一个Outlook会议请求格式并发送到Outlook网络。

相关问题