2013-10-23 2 views
0

PHPMailer를 사용하여 고객에게 회의 초대장을 보내려고합니다. * .ics 파일은 PHP를 사용하여 동적으로 생성됩니다 (파일 시스템에 저장되지 않음).PHPMailer를 사용하여 회의 초대 보내기

내에서 iCalendar 파일은 다음과 같이 :

BEGIN:VCALENDAR 
VERSION:2.0 
PRODID:-//ABC Corporation//Productname//EN 
CALSCALE:GREGORIAN 
METHOD:REQUEST 
BEGIN:VEVENT 
SEQUENCE:0 
LAST-MODIFIED:20131023T120039ZUID:20131023T120039-29881-www.host.com 
DTSTAMP:20131023T120039Z 
DTSTART:20131102T083000Z 
DTEND:20131102T084500Z 
LOCATION:event location 
SUMMARY;LANGUAGE=us-en:topic of the meeting 
DESCRIPTION: further information 
ORGANIZER; CN="Organizer":mailto:[email protected] 
BEGIN:VALARM 
TRIGGER:-P1D 
ACTION:DISPLAY 
DESCRIPTION:Reminder 
END:VALARM 
END:VEVENT 
END:VCALENDAR 

불행하게도, 나는 아직 첨부 파일로 *을 .ics 파일을 추가 할 수 있었다.

$icalendar = new ICalendar(); 
$mail->AddStringAttachment($icalendar->genICalendar(), "meeting.ics", "base64", "text/calendar"); 

다음과 같은 Outlook/Gmail 스타일 초대장으로 보내려면 어떻게해야합니까? enter image description here

모든 의견을 크게 환영합니다.

답변

0

여기에 내가 2 년 나를 위해

static $iCalContentType = "text/calendar"; 
    static $iCalContentDisposition = "inline; filename=calendar.vcs"; 
    static $iCalTmpl = " 
BEGIN:VCALENDAR 
METHOD:REQUEST 
PRODID:MyApp 
VERSION:2.0 
BEGIN:VEVENT 
STATUS:CONFIRMED 
ORGANIZER;CN=\"AppNameMailer\":mailto:[email protected] 
SUMMARY: __summary__ 
DESCRIPTION: \"__description__\" 
COMMENT: none 
DTSTART:__start__ 
DTEND:__end__ 
UID: __id__-AppName 
SEQUENCE:__seq__ 
DTSTAMP:__now__ 
CLASS:PUBLIC 
PRIORITY:5 
TRANSP:OPAQUE 
LOCATION: 
BEGIN:VALARM 
ACTION:DISPLAY 
DESCRIPTION:REMINDER 
TRIGGER;RELATED=START:-PT25M 
END:VALARM 
END:VEVENT 
END:VCALENDAR 
"; 

작품 미세 년부터 webproject에서 사용할 전망에 대한 내 솔루션입니다! __*__ 마커를 바꿉니다 ("이 없도록주의하십시오).

아 및 정확한 시간 인코딩이 지금까지 내가 기억하는 중요은 - ...

그것이 도움이되기를 바랍니다 (Z로 끝나는) ISO8601로 답장을 보내

+1

감사가 있습니다! PHPMailer에서 content-type과 content-disposition을 올바르게 설정해야합니까? – lionheart98

관련 문제