Есть ли стандарт и реализация для события Icalendar RSVP

Резюме состоит в том, что я сейчас внедряю систему подтверждения событий и не могу найти правильный формат для ответов ICalendar. Поэтому я задаюсь вопросом, есть ли там пример полного сообщения REPLY и, возможно, библиотека PHP, которая бы обернула все это?

Теперь для деталей мы получаем внешние электронные письма, включая приглашения на приглашение, запрашивающие RSVP. Вот фрагмент файла iCal:

ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="'user@company.com'":MAILTO:user@company.com ORGANIZER;CN="Organ Izer":MAILTO:organizer@company.com

Я не смог найти стандарт ответа для отправки RSVP организатору. В RFC 2447 упоминается параметр «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:abcdef@gmail.com UID:oc7ae7537999onscsivg8km123@google.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=CONFIRMED;RSVP= TRUE;CN=jc@company.se;X-NUM-GUESTS=0:mailto:jc@company.se LOCATION: SEQUENCE:1 END:VEVENT END:VCALENDAR'; mail('abcdef@gmail.com', 'Accepted:', "Event accepted", $headers); 

    Что-то не так с сообщением Ical или с самим методом? Так должно быть отправлено сообщение о событиях?

    Related of "Есть ли стандарт и реализация для события Icalendar RSVP"

    Следующий код будет работать с календарем Google. Вложение обрабатывается 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:example@gmail.com UID:u2coh5g3bppo2d2o3t@google.com ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED; CN=user@example.se:mailto:user@example.se 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('example@gmail.com', 'Jean-Charles'); $mail->Body = "HTML BODY"; $mail->AltBody = "Text body"; $mail->Subject = "Email title"; $mail->Sender = "User Name"; $mail->FromName = "user@example.se"; $mail->AddStringAttachment($vcal, 'meeting.ics', "base64", "text/calendar"); $mail->Send(); 

    Важные биты

    • Тип контента: текст / календарь
    • МЕТОД: СЛОВО
    • PARTSTAT: ПРИНИМАЮТСЯ | DECLINED
    • UID

    Я не уверен, что необходимо отправить всю избыточную информацию (описание, резюме, dtend, dtstart)

    Для меня работало следующее решение:

     $mail->Subject = $name; $mail->Body = $description; $mail->AltBody = $body; // ical format $mail->Ical = $message; // ical format 

    Эти методы не привязывают к формату.