Icalendar 事件 RSVP 是否有标准和实现

2024-03-24

总结是,我现在正在实现一个事件确认系统,但找不到 ICalendar 回复的正确格式。因此我想知道是否有一个完整的 REPLY 消息的示例,也许还有一个 PHP 库可以包装所有这些消息?

现在了解详细信息,我们收到外部电子邮件,包括要求回复的活动邀请。以下是 iCal 文件的摘录:

ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="'[email protected] /cdn-cgi/l/email-protection'":MAILTO:[email protected] /cdn-cgi/l/email-protection ORGANIZER;CN="Organ Izer":MAILTO:[email protected] /cdn-cgi/l/email-protection

我找不到向主办方发送RSVP的回复标准。这RFC 2447 https://www.rfc-editor.org/rfc/rfc5545#section-3.2.12提到“ATTSTAT”和“PARTSTAT”参数。

通过尝试将以下消息邮寄到 Google 日历,该活动未被更新。

$headers = "Content-Type:text/calendar; Content-Disposition: inline; charset=utf-8;\r\n";
$headers .= "Content-Type: text/plain;charset=\"utf-8\"\r\n";
$headers .= 'BEGIN:VCALENDAR
VERSION:2.0
METHOD:REPLY
BEGIN:VEVENT
ORGANIZER;CN=JCharles:mailto:[email protected] /cdn-cgi/l/email-protection
UID:[email protected] /cdn-cgi/l/email-protection
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=CONFIRMED;RSVP=
 TRUE;[email protected] /cdn-cgi/l/email-protection;X-NUM-GUESTS=0:mailto:[email protected] /cdn-cgi/l/email-protection
LOCATION:
SEQUENCE:1
END:VEVENT
END:VCALENDAR';

mail('[email protected] /cdn-cgi/l/email-protection', 'Accepted:', "Event accepted", $headers);

Ical 消息或方法本身有什么问题吗?这是事件回复应该发送的方式吗?


以下代码适用于谷歌日历。附件由 Gmail 处理,并且接受会级联到事件。

$vcal = 'BEGIN:VCALENDAR
PRODID:-//EXAMPLE.NU//SE
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REPLY
BEGIN:VEVENT
DTSTART:20101215T160000Z
DTEND:20101215T170000Z
DTSTAMP:'.date('Ymd\THis\Z').'
ORGANIZER;CN=Jean-Charles:mailto:[email protected] /cdn-cgi/l/email-protection
UID:[email protected] /cdn-cgi/l/email-protection
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;
 [email protected] /cdn-cgi/l/email-protection:mailto:[email protected] /cdn-cgi/l/email-protection
CREATED:19000101T120000Z
DESCRIPTION:äåóö
LAST-MODIFIED:'.date('Ymd\THis\Z').'
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:a new test
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
';

$vcal = utf8_encode($vcal);

require('lib/phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
$mail->AddAddress('[email protected] /cdn-cgi/l/email-protection', 'Jean-Charles');
$mail->Body = "HTML BODY";
$mail->AltBody = "Text body";
$mail->Subject = "Email title";
$mail->Sender = "User Name";
$mail->FromName = "[email protected] /cdn-cgi/l/email-protection";
$mail->AddStringAttachment($vcal, 'meeting.ics', "base64", "text/calendar");
$mail->Send();

重要的部分是

  • 内容类型:文本/日历
  • 方法:回复
  • PARTSTAT:已接受|已拒绝
  • UID

我不确定是否有必要发回所有冗余信息(描述、摘要、dtend、dtstart)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Icalendar 事件 RSVP 是否有标准和实现 的相关文章

  • PHP_CodeSniffer - 显示失败的嗅探

    PHP CodeSniffer 中是否有设置来显示失败的嗅探 我将输出与我们的编码标准进行比较 并且一一使用很难破译哪个测试失败 看看我们可能想忽略哪个 如果有一种简单的方法来显示故障嗅探 那么我可以更轻松 更快地完成配置 您可以使用 s
  • php postgresql pdo 从标准输入复制

    COPY table name field1 field2 field3 FROM STDIN CSV 1 2 q w 3 4 a s 5 6 d 如何通过 PDO 执行此查询 Update 问题是 PDO 驱动程序将此查询作为语句执行 例
  • 如何自定义 Zend_Form 正则表达式错误消息?

    我有以下代码 postcode form gt createElement text postcode postcode gt setLabel Post code postcode gt addValidator regex false
  • 使用 ASP.NET 发送邮件

    我使用标准的 web config mailSettings 作为我的 ASP NET 电子邮件的骨干 然而 我发现它的能力越来越有限 例如 我想从许多不同的用户帐户 支持 销售 管理等 发送电子邮件 但 mailSettings 似乎不支
  • PDOException SQLSTATE[HY000] [2002] 我的本地计算机上的连接超时

    最近我从服务器导入了代码 但本地代码无法连接到远程 mysql 数据库 所以我有两个问题 我可以访问我的远程数据库吗 如果是 为什么我的代码不起作用 如果没有 有没有办法绕过这个问题 我不想复制在本地计算机上运行的 mysql 数据库 我的
  • 使用 PHP 将 mysql 值转储到 JSON 文件中

    我正在尝试使用 PHP 从 mysql 数据库生成 JSON 文件 到目前为止 我有
  • php简单xml如何读取具有不同子节点级别的多个节点

    我有一个 xml 文件 其中包含不同的命名节点和多级子节点 每个节点之间都不同 我应该如何访问数据 需要很多嵌套的for循环吗 以下是 xml 代码示例
  • 是否可以使用 PHP 检测用户来自哪个操作系统? (Mac 或 Windows)

    比方说 我想回应 你正在使用 Windows 或 您正在使用 Macintosh 具体取决于用户的操作系统 这可能吗 通过分析 SERVER HTTP USER AGENT 可以说出什么system and browser 用户是claim
  • 生成 CloudFront 签名 URL 时性能缓慢

    我正在按照此示例使用 PHP 在 CloudFront 上创建签名 URLhttp docs aws amazon com AmazonCloudFront latest DeveloperGuide CreateURL PHP html
  • 如何在 phpfarm php 安装上安装 pthreads

    记录我为帮助他人所做的努力 并希望得到一些关于我如何做得更好的反馈 命令pecl install pthreads由于我的 php 安装失败ubuntu 13 04盒子没有配置 zts Options 1 ubuntu存储库没有启用zts的
  • 在 PHP 中计算 Cookie 大小

    我想使用 php 在服务器端读取 cookie 并计算其长度 但找不到任何直接方法来执行此操作 那么如何实现这个任务呢 那这个呢 setcookie user Dino babu kannampuzha time 3600 if isset
  • PHP 和 ASP.Net 可以在 IIS 7.5 中的同一网站中一起运行吗?

    我们网站的一部分是用 PHP 完成的 而我们网站的一部分是用 ASP Net 完成的 我们刚刚使用 Windows Server 2008 R2 设置了一个新的 Web 服务器 其中安装了 IIS 7 5 我知道 IIS 7 支持 PHP
  • PHP 是否有与 Java 的 RequestDispatcher.forward 等效的功能?

    在 Java 中我可以编写一个非常基本的 JSPindex jsp像这样 这样做的效果是用户请求index jsp 或者只是包含目录 假设index jsp是目录的默认文档 将会看到home action没有浏览器重定向 即 forward
  • 如何使用 wpf webbrowser 将数据发布到 Web 服务器

    我想从数据库获取数据并使用它来让用户登录到网站 我有一个包含 Web 浏览器控件的 wpf 页面 我有这样的代码 用于将用户登录到用 php 编写的网站
  • JSP 作为电子邮件模板

    有没有办法发送 MIME 电子邮件 其中电子邮件正文源自 JSP 我需要使用 Javamail 发送一封电子邮件 其中包含一个表格 我认为如果我可以使用 JSP 来完成所有格式设置和布局 将会很方便 在这个线程中 Java 电子邮件模板的建
  • PHP 中 while (true){ 是什么意思?

    我看过这段代码 但不知道这意味着什么 while true echo Hello world 我知道什么是 while 循环 但是 while true 是什么意思 会执行多少次 这不是无限循环吗 虽然是无限循环 但您可以使用以下命令退出它
  • 尝试使用curl进行GET,发送的值允许为空

    我正在尝试使用curl 来执行一个简单的GET 其中包含一个名为redirect uri 的参数 被调用的 php 文件打印出 GET redirect uri 的空字符串 它显示 red 并且似乎没有发送任何内容 执行获取操作的代码 Ge
  • 日期函数的奇怪行为

    我今天在 StackOverflow 上遇到了这个问题 但没有得到答案 我的问题是 echo date Y m d strtotime 2012 september 09 output 2012 09 01 echo date Y m d
  • /bootstrap/start.php 中的 Laravel 错误:\Illuminate\Foundation\Application 未找到

    因此 我在开发服务器上安装了 Laravel php5 5 3 标准安装 安装了 mcrypt 并收到以下错误消息 Fatal error Class Illuminate Foundation Application not found
  • 使用 php 变量更改 css 类

    这里需要您的帮助 正如标题所示 我正在尝试使用 PHP 变量更改 css 类 所以基本上我想创建一个回显某些代码的循环 但我希望第一个循环中的 div 类有所不同 它应该被隐藏 这是我为使问题变得清晰而编写的简化代码 我不知道错误在哪里 请

随机推荐

  • 如何使用 NSJSONSerialization

    我有一个 JSON 字符串 来自 PHP 的json encode 看起来像这样 id 1 name Aaa id 2 name Bbb 我想将其解析为我的 iPhone 应用程序的某种数据结构 我想对我来说最好的事情就是拥有一个字典数组
  • 如何使用 HTML5 音频标签创建自动播放列表?

    如何使用 HTML5 的音频标签创建自动播放列表 我想要实现的是一个只有播放 暂停按钮大 30x25 px 的播放器 播放器在页面加载时自动播放 当歌曲结束时 它会自动播放下一首歌曲 尝试在播放列表中包含 3 4 首歌曲 查看这篇文章 使用
  • ng-select 中的对象及其属性

    我一直在试图弄清楚如何使用数组 if 对象作为 ng select 指令的键值 这是我想使用的数据 scope selectValues name Options 1 value 11 name Options 2 value 22 nam
  • 如何从 key.pk8 和certificate.pem 生成 Android 密钥库?

    所以今天我终于将我的 SDK 更新到 22 0 0 但这会在 AndroidManifest xml 中创建一个错误android debuggable false 这意味着我无法再从外部签名和压缩我自己的 APK 我一直使用自己的 key
  • scanf 格式说明符从一组字符中读取零个或多个字符

    我需要对读取字符串中可以包含的字符非常严格 我有一系列空格 后面跟着一个字符 后面跟着一系列空格 例子 c c 我需要找到一个格式说明符 它允许我忽略该字符 但前提是它是这个特定字符而不是任何其他字符 这个序列 e 应该被中止 I trie
  • Azure ARM 模板(取决于)

    寻求一些指导和解释dependsOn 我在模板中看到有两种在模板中提供依赖项的方法 一种方法是提供resourceId另一种方法是使用提供字符串值concat 我试图理解两者之间的区别 Example concat Microsoft Ne
  • 错误:指针和整数之间的比较

    我正在尝试编写一个可以处理重定向的简单 shell 但是 我得到 错误 指针和整数之间的比较 我明白为什么会出现错误 但我不确定如何修复它 args 声明为 static char args 512 这是我收到错误的代码 if args l
  • Visual Studio上的Nuget包推送403错误

    我创建了一个视觉工作室类库 我想将其作为一个包发送给 Nuget 我用了视觉工作室包管理器安慰 命令如下 nuget spac 你好nuget nuget 包 hellonuget nuspec nuget 推送 hellonuget 1
  • 如何在“表格列表”中仅显示一次表格标题,以便将表格拆分为多个页面

    我正在使用 R 包 xtable and knitr 和乳胶包 longtable and hyperref 准备一份文件 我的一张桌子很长并且分成多页 事实证明 表列表 显示了该表出现的每个页码 但所有超链接都将我带到了该表的开头 我的问
  • CSS Sprites 在 IE 中不起作用[8/7/6]

    我正在尝试 CSS 使用精灵来动画我的风险矩阵 它在 Firefox 和 Chrome 中工作得很好 但图像不会显示在 IE 中 代码如下 不想将整个内容粘贴到此处 但摘录显示了模式 dl dd a a dd dd a a dd dl
  • 隐藏文件夹 C# [重复]

    这个问题在这里已经有答案了 可能的重复 C 获取不包括隐藏文件的文件列表 https stackoverflow com questions 2418270 c get a list of files excluding those tha
  • android 背景重复-y

    我有一个图像 我想将其放置在右侧并在 y 轴上重复它 HTML 中类似于 背景 url img png 右重复 y 在android中可以做到这一点吗 当我将此位图设置为背景时 它不在右侧
  • 检查 FTP 服务器上的可用空间

    我正在运行一个构建脚本 其中三个可执行文件 每个 100mb 被上传到 FTP 服务器 由于 FTP 服务器空间问题 第一次上传可能会失败 因此我们的构建过程会失败 这意味着我必须从服务器释放一些空间并再次运行构建脚本 这是浪费时间 我想在
  • Python 子模块在 python 3.7 中正确导入,但在 3.6 中则不然

    我的目录结构如下 test init py m1 init py f1 py f2 py test init py是空的 test m1 init py包含一行import test m1 f1 test m1 f1 py包含一行impor
  • 如何将复杂对象传递到 ASP.NET MVC 中的另一个视图?

    我正在尝试将一个复杂的对象 可以序列化 如果有帮助的话 传递给另一个视图 目前 这是我在某些控制器方法中拥有的代码 User user New User Name Fred Email xxxx return RedirectToActio
  • 为什么每个逻辑 CPU 在多线程情况下都有自己的 CR3 寄存器?

    当我们有一个支持某种形式的多线程的 CPU 时 每个逻辑 CPU 都有它自己的一组寄存器 至少 包括 CR3 寄存器 由于我们在执行不同线程时正在处理同一进程的虚拟地址空间 并且永远不会发生上下文切换 切换同一进程的线程时TLB缓存也不会失
  • conda环境安装后无法导入包

    我尝试安装gdal我的 conda 环境中的包 我激活了 gcpy 环境并使用安装了 gdal 包conda install c conda forge gdal 该软件包安装成功 但是 当我尝试导入包时 出现错误 In 1 import
  • .Bool、.so、? 之间的区别所以

    我试图找出上述例程和 if 语句之间的区别 say y Bool say y so say y say so y 会产生不同的结果 到目前为止 对我来说唯一明显的区别是 优先级高于so Bool and so似乎完全是同义词 这是正确的并且
  • Android谷歌地图异步任务添加标记

    我有一张地图 我有一个点数据库 我想在 AsyncTask 中显示数据库中的点 以便在加载点时用户可以在地图上移动 没有太多点 例如 353 等 但当用户更接近 缩放 具有更大标记的地图时 我会重新绘制所有点 当发生重绘时 应用程序冻结了不
  • Icalendar 事件 RSVP 是否有标准和实现

    总结是 我现在正在实现一个事件确认系统 但找不到 ICalendar 回复的正确格式 因此我想知道是否有一个完整的 REPLY 消息的示例 也许还有一个 PHP 库可以包装所有这些消息 现在了解详细信息 我们收到外部电子邮件 包括要求回复的