2014-01-29 1 views
1

Я использую PHPMailer для отправки электронной почты. Содержание моего ics:Приглашение iCalendar не показывает кнопки RSVP в почтовых клиентах

BEGIN:VCALENDAR 
METHOD:REQUEST 
VERSION:2.0 
PRODID:-//FooBar//FooBar Calendar//EN 
BEGIN:VEVENT 
UID:8f5a0777-bf6d-17d2-f14a-52e7feedf810 
ORGANIZER;CN=Foo:[email protected] 
DTSTART:20140130T191500Z 
DTEND:20140130T194500Z 
DTSTAMP:20140129T144300Z 
SUMMARY:Foo Bar 11 
DESCRIPTION: 
END:VEVENT 
END:VCALENDAR 

По какой-то причине я не вижу ожидаемых кнопок RSVP на любых почтовых клиентах. Как Gmail, так и Mac Mail просто включают в себя ics как вложение файлов, я предполагаю, что это резерв. Так что должно быть что-то не так. Я не пробовал Outlook, но я не вижу причин, почему это было бы иначе в третьем клиенте. Ниже приведено содержимое отправляемого сообщения. Вы видите что-то, что выглядит неправильно? Спасибо.

Return-Path: REDACTED 
Received: REDACTED 
Date: Wed, 29 Jan 2014 09:43:18 -0500 
Return-Path: REDACTED 
To: REDACTED 
From: REDACTED 
Reply-To: REDACTED 
Subject: Meeting - Foo Bar 11 
Message-ID: <[email protected]> 
X-Priority: 3 
X-Mailer: PHPMailer 5.2.7 (https://github.com/PHPMailer/PHPMailer/) 
MIME-Version: 1.0 
Content-Type: multipart/alternative; 
boundary="b1_7004961cd9df04181047296f98260834" 
Content-Transfer-Encoding: base64 

--b1_7004961cd9df04181047296f98260834 
Content-Type: text/plain; charset=UTF-8 
Content-Transfer-Encoding: base64 

VG86IEZvbyBCYXINCg0KDQpBZG1pbmlzdHJhdG9yIGhhcyBpbnZpdGVkIHlvdSB0byBhIE1lZXRpbmcNCg0KDQpTdWJqZWN0OiBGb28gQmFyIDExDQoNClN0YXJ0IERhdGU6IDAxLzMwLzIwMTQgMDI6MTVwbSBFU1QoLTA1OjAwKQ0KDQpFbmQgRGF0ZTogMDEvMzAvMjAxNCAwMjo0NXBtIEVTVCgtMDU6MDApDQoNCg0KRGVzY3JpcHRpb246IA0KDQoNCkFjY2VwdCB0aGlzIG1lZXRpbmc6DQoNCmh0dHA6Ly9sb2NhbGhvc3Q6ODg4OC9pbmRleC5waHA/ZW50cnlQb2ludD1hY2NlcHREZWNsaW5lJm1vZHVsZT1NZWV0aW5ncyZ1c2VyX2lkPTEmcmVjb3JkPThmNWEwNzc3LWJmNmQtMTdkMi1mMTRhLTUyZTdmZWVkZjgxMCZhY2NlcHRfc3RhdHVzPWFjY2VwdA0KDQoNClRlbnRhdGl2ZWx5IEFjY2VwdCB0aGlzIG1lZXRpbmcNCg0KaHR0cDovL2xvY2FsaG9zdDo4ODg4L2luZGV4LnBocD9lbnRyeVBvaW50PWFjY2VwdERlY2xpbmUmbW9kdWxlPU1lZXRpbmdzJnVzZXJfaWQ9MSZyZWNvcmQ9OGY1YTA3NzctYmY2ZC0xN2QyLWYxNGEtNTJlN2ZlZWRmODEwJmFjY2VwdF9zdGF0dXM9dGVudGF0aXZlDQoNCg0KRGVjbGluZSB0aGlzIG1lZXRpbmcNCg0KaHR0cDovL2xvY2FsaG9zdDo4ODg4L2luZGV4LnBocD9lbnRyeVBvaW50PWFjY2VwdERlY2xpbmUmbW9kdWxlPU1lZXRpbmdzJnVzZXJfaWQ9MSZyZWNvcmQ9OGY1YTA3NzctYmY2ZC0xN2QyLWYxNGEtNTJlN2ZlZWRmODEwJmFjY2VwdF9zdGF0dXM9ZGVjbGluZQ0KDQo= 


--b1_7004961cd9df04181047296f98260834 
Content-Type: text/html; charset=UTF-8 
Content-Transfer-Encoding: base64 

PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiIGxhbmc9J2VuX3VzJz4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+DQo8dGl0bGU+DQpNZWV0aW5nIC0gRm9vIEJhciAxMQ0KPC90aXRsZT4NCjwvaGVhZD4NCjxib2R5Pg0KVG86IEFkbWluaXN0cmF0b3I8YnIgLz48YnIgLz4NCkFkbWluaXN0cmF0b3IgaGFzIGludml0ZWQgeW91IHRvIGEgTWVldGluZzxiciAvPjxiciAvPg0KU3ViamVjdDogRm9vIEJhciAxMTxiciAvPg0KU3RhcnQgRGF0ZTogMDEvMzAvMjAxNCAwMjoxNXBtIEVTVCgtMDU6MDApPGJyIC8+DQpFbmQgRGF0ZTogMDEvMzAvMjAxNCAwMjo0NXBtIEVTVCgtMDU6MDApPGJyIC8+DQoNCkRlc2NyaXB0aW9uOiA8YnIgLz48YnIgLz4NCkFjY2VwdCB0aGlzIG1lZXRpbmc6PGJyIC8+DQo8YSBocmVmPSJodHRwOi8vbG9jYWxob3N0Ojg4ODgvaW5kZXgucGhwP2VudHJ5UG9pbnQ9YWNjZXB0RGVjbGluZSZtb2R1bGU9TWVldGluZ3MmdXNlcl9pZD0xJnJlY29yZD04ZjVhMDc3Ny1iZjZkLTE3ZDItZjE0YS01MmU3ZmVlZGY4MTAmYWNjZXB0X3N0YXR1cz1hY2NlcHQiPmh0dHA6Ly9sb2NhbGhvc3Q6ODg4OC9pbmRleC5waHA/ZW50cnlQb2ludD1hY2NlcHREZWNsaW5lJm1vZHVsZT1NZWV0aW5ncyZ1c2VyX2lkPTEmcmVjb3JkPThmNWEwNzc3LWJmNmQtMTdkMi1mMTRhLTUyZTdmZWVkZjgxMCZhY2NlcHRfc3RhdHVzPWFjY2VwdDwvYT48YnIgLz48YnIgLz4NClRlbnRhdGl2ZWx5IEFjY2VwdCB0aGlzIG1lZXRpbmc8YnIgLz4NCjxhIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODg4OC9pbmRleC5waHA/ZW50cnlQb2ludD1hY2NlcHREZWNsaW5lJm1vZHVsZT1NZWV0aW5ncyZ1c2VyX2lkPTEmcmVjb3JkPThmNWEwNzc3LWJmNmQtMTdkMi1mMTRhLTUyZTdmZWVkZjgxMCZhY2NlcHRfc3RhdHVzPXRlbnRhdGl2ZSI+aHR0cDovL2xvY2FsaG9zdDo4ODg4L2luZGV4LnBocD9lbnRyeVBvaW50PWFjY2VwdERlY2xpbmUmbW9kdWxlPU1lZXRpbmdzJnVzZXJfaWQ9MSZyZWNvcmQ9OGY1YTA3NzctYmY2ZC0xN2QyLWYxNGEtNTJlN2ZlZWRmODEwJmFjY2VwdF9zdGF0dXM9dGVudGF0aXZlPC9hPjxiciAvPjxiciAvPg0KRGVjbGluZSB0aGlzIG1lZXRpbmc8YnIgLz4NCjxhIGhyZWY9Imh0dHA6Ly9sb2NhbGhvc3Q6ODg4OC9pbmRleC5waHA/ZW50cnlQb2ludD1hY2NlcHREZWNsaW5lJm1vZHVsZT1NZWV0aW5ncyZ1c2VyX2lkPTEmcmVjb3JkPThmNWEwNzc3LWJmNmQtMTdkMi1mMTRhLTUyZTdmZWVkZjgxMCZhY2NlcHRfc3RhdHVzPWRlY2xpbmUiPmh0dHA6Ly9sb2NhbGhvc3Q6ODg4OC9pbmRleC5waHA/ZW50cnlQb2ludD1hY2NlcHREZWNsaW5lJm1vZHVsZT1NZWV0aW5ncyZ1c2VyX2lkPTEmcmVjb3JkPThmNWEwNzc3LWJmNmQtMTdkMi1mMTRhLTUyZTdmZWVkZjgxMCZhY2NlcHRfc3RhdHVzPWRlY2xpbmU8L2E+PGJyIC8+PGJyIC8+DQo8L2JvZHk+DQo8L2h0bWw+ 


--b1_7004961cd9df04181047296f98260834 
Content-Type: text/calendar; method=REQUEST; charset=UTF-8 
Content-Transfer-Encoding: base64 

QkVHSU46VkNBTEVOREFSDQpNRVRIT0Q6UkVRVUVTVA0KVkVSU0lPTjoyLjANClBST0RJRDotLy9Gb29CYXIvL0Zvb0JhciBDYWxlbmRhci8vRU4NCkJFR0lOOlZFVkVOVA0KVUlEOjhmNWEwNzc3LWJmNmQtMTdkMi1mMTRhLTUyZTdmZWVkZjgxMA0KT1JHQU5JWkVSO0NOPUZvbzpmb29AYmFyLmNvbQ0KRFRTVEFSVDoyMDE0MDEzMFQxOTE1MDBaDQpEVEVORDoyMDE0MDEzMFQxOTQ1MDBaDQpEVFNUQU1QOjIwMTQwMTI5VDE0NDMwMFoNClNVTU1BUlk6Rm9vIEJhciAxMQ0KREVTQ1JJUFRJT046DQpFTkQ6VkVWRU5UDQpFTkQ6VkNBTEVOREFSDQo= 



--b1_7004961cd9df04181047296f98260834-- 

P.S. Извините, что он закодирован в base64. Я хотел показать истинное представление электронной почты, а не изменять ее любым способом, который может исказить результаты. Я просто использую http://www.base64decode.org/ для декодирования содержимого.

+0

Содержимое base64 отображается как одна строка, но электронное письмо отправляется с максимальной длиной 1000 символов в строке. Мне просто нужно было удалить некоторую конфиденциальную информацию, поэтому мне пришлось перекодировать те части, которые удалили перерывы. – glevine

+0

Вы пытались добавить RSVP = TRUE в поле ATTENDEE? это не строго санкционировано RFC6047, но помните, что это имело для меня большое значение. – oberron

ответ

1

не знаю, если это решит проблему, но:

Что касается структуры MIME, и кажется, что вы, кажется, заботится о GMail, лучше всего генерировать приглашение от Google Calendar на не аккаунте Google, и посмотреть на структуру MIME, который он создает.

+0

Добавление 'mailto:' было ключом. Я также пропускал «МЕТОД: ЗАПРОС» в моем примере, но я использовал его при тестировании. Это было сочетание этих двух, что заставило его работать. Мне нужно добавить свойство ATTENDEE, как вы сказали, но кнопки RSVP не зависят от этого. – glevine

+0

Я сказал, что у меня отсутствует параметр «МЕТОД: ЗАПРОС», но я оговорился. Я пережил так много итераций, что я просто смутил себя. Это было добавление 'mailto:' и гарантирование того, что все новые строки были CRLF. – glevine

+0

Есть ли способ дать ответный адрес электронной почты, так что, когда человек нажмет на кнопку «да, может быть, нет», он будет уведомлен, чтобы ответить на адрес электронной почты ?? – Sinto

 Смежные вопросы

  • Нет связанных вопросов^_^