2015-09-14 2 views
0

У меня возникла проблема с icalendar, она не отображает вложение и кнопку подтверждения при отправке в gmail, yahoo, aoutlook.com. он работал раньше без html-сообщения и многостраничного/смешанного заголовка. теперь, когда я получаю письмо, он показывает мне только текст календаря, он не распознает его. Тип контента: multipart/mixed; граница = "982f8d486c3cbed0e28b314e7a433c3d"Icalendar .ics не показывает проблему после добавления содержимого html

--982f8d486c3cbed0e28b314e7a433c3d 
Content-Type: multipart/alternative; boundary="19f4b0e33c6f735ae6f858b1df7b72f2" 

--19f4b0e33c6f735ae6f858b1df7b72f2 
Content-Type: text/calendar; method=REQUEST; charset="iso-8859-1" 
Content-Transfer-Encoding: quoted-printable 

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//Testa//Tes//EN 
METHOD:REQUEST 
BEGIN:VEVENT 
UID:20150914T205515-998107994-domain.com 
DTSTAMP:20150914T205515 
DTSTART:20150915T195500Z 
DTEND:20150915T195500Z 
ORGANIZER;CN=soy:MAILTO:[email protected] 
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;[email protected]:MAILTO:[email protected] 
LOCATION:hj 
SUMMARY:Rendez-vous 
BEGIN:VALARM 
TRIGGER:-PT15M 
ACTION:DISPLAY 
DESCRIPTION:Reminder 
END:VALARM 
END:VEVENT 
END:VCALENDAR 

--19f4b0e33c6f735ae6f858b1df7b72f2-- 
--982f8d486c3cbed0e28b314e7a433c3d 
Content-Type: application/ics; name="Rv-invite.ics" 
Content-Disposition: attachment; filename="Rv-invite.ics" 
Content-Transfer-Encoding: base64 
X-Mailer: Microsoft Office Outlook 12.0 
X-Mailer: CakePHP Email 
Date: Mon, 14 Sep 2015 20:55:16 +0200 
Message-ID: <[email protected]> 
Subject: Rendez-vous 
MIME-Version: 1.0 
Content-Type: text/html; charset=UTF-8 
Content-Transfer-Encoding: 8bit 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 
<html> 
<head> 
     <title>Emails/html</title> 
</head> 
<body> 

<p>Dear,</p> 

<p>Mr xxx sent an appointment</p> 
</body> 
</html> 

спасибо заранее.

+0

Вы всегда должны указать точную версию cakephp, которую используете. Я использую Cake2.7, и там он работает отлично. – mark

+0

Я использую cakephp 2.6.0 – Monologie

+0

показывает ли он календарь с кнопкой подтверждения? – Monologie

ответ

0

Ну ваша вторая часть тела имеет 2 заголовки Content-Type:

Content-Type: application/ics; name="Rv-invite.ics" 
Content-Disposition: attachment; filename="Rv-invite.ics" 
Content-Transfer-Encoding: base64 

и

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

Похоже, некоторые из заголовков также принадлежат к верхнему уровню, а не в той части тела, :

X-Mailer: Microsoft Office Outlook 12.0 
X-Mailer: CakePHP Email 
Date: Mon, 14 Sep 2015 20:55:16 +0200 
Message-ID: <[email protected]> 
Subject: Rendez-vous 
MIME-Version: 1.0 

Смотрите также это сообщение о правильной структуре MIME для использования в целом: Multipart email with text and calendar: Outlook doesn't recognize ics

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