18
4

6 回答 6

21
于 2013-07-16T06:24:50.807 回答
18

这是一个老问题,但我认为它是由使用 METHOD:REQUEST 引起的,这标志着 ical 应该更新,而不是它是一个新项目。相反,使用 METHOD:PUBLISH

我可以确认这适用于 DDay.iCal 和 Outlook 日历。

于 2014-01-28T22:44:01.203 回答
3

这让我发疯了一个星期,所以很高兴看到其他人证实了我的怀疑。其实有一个比较简单的方案,解决了这个问题,虽然不是很优雅。我可以理解为什么不允许从外部来源担任组织者的角色,但令人讨厌的是你不能。

发出 2 个邀请。一个给自己(或任何组织者),然后另一个给其他人。

你自己应该有其他东西,而不是你作为组织者,例如组织者:donotreply@outlook.com

作为组织者,其他所有人都应该将您的电子邮件记录下来。

要使这种方法起作用,您应该设置 METHOD:REQUEST。如果您将其设置为 PUBLISH,您将获得更新的重复项。

这种方法意味着您可以在日记中获得会议并获得回复(要获得回复,您需要为每个与会者添加以下行:ATTENDEE;CN="The Name";RSVP=TRUE:mailto:the_email@address.com .)

请注意,两个版本的文件的 UID 相同。如果组织者首先获得邀请,这样他们就可以在开始收到回复之前接受它,这会有所帮助,否则人们将回复实际上尚不存在的内容。这不会阻止他们接受邀请,但对于组织者来说可能有点混乱。为了解决这个问题,我在电子邮件 1 和 2 之间稍作延迟。

于 2016-09-16T15:29:23.057 回答
0

我认为您的问题是因为 Exchange 假定活动的组织者也是活动的发起者。这似乎很公平,否则将会议发送给使他们成为组织者的人将是轻而易举的事情,并且它们将自动添加到该人的日历中。

说了这么多,不知道如何解决这个问题。

于 2013-02-26T15:11:17.717 回答
0

通过电子邮件发送事件邀请的行为在 rfc6047 中进行了描述,进一步扩展了 icalendar RFC (RFC5545)。

关于安全的第 2 节第 3 节总结了两种欺骗威胁:

欺骗“组织者”,欺骗“与会者”

那是

不允许spoof@xyz.example.net 修改或取消由a@example.com 组织的会议。

你的情况:

  1. 您是否从与您的交换相同的电子邮件地址发送邀请(谈论From:邮件中的而不是Organizer:mailto?如果不是,则可能值得尝试通过交换地址发送。
  2. 上面应该不起作用,为了满足组织者在其日历中包含邀请的需要,您可能需要以编程方式将其添加到组织者的议程中,因为 CUA(日历用户代理)或 Exchange 可能不允许第三派对邮件程序在议程中添加事件而无需最终用户 UI 使用。
于 2013-02-26T16:33:04.667 回答
0

最近几个月,我们的服务也遇到了和你一样的问题:我们的服务为组织者和参加者创建会议日历,如果参加者包含组织者,组织者(作为参加者)可以收到日历邮件,但都不允许接收/拒绝会议(按钮被禁用)也不能在日历中看到它(没有日历事件)。

最后,我注意到只有在以下条件下才会发生这种情况: 1. mail.From = Organizer 2. Ateendees.contains(organizer) //不区分大小写。

所以,我只是将我的代码更改为 follwing ,它适用于所有与会者(包括组织者):

if (!attendeeEmail.ToLower().Contains(organizer.Address.ToLower()))
{
    message.From = organizer;
}
else
{
    //such as your actual email sender, in our case, our mail sender use another email,
    //say ActualSender,and if leave empty, then our mail sender will fill as:
    message.From = ActualSenderEmail;
}
于 2014-04-17T14:33:11.567 回答