1

Outlook カレンダーの添付ファイルが電子メールで送信されると、Outlook カレンダーに表示されません。添付ファイルを開いた後でも、カレンダーには表示されません。Gmail では問題なく動作していますが、Microsoft Outlook では添付の問題が発生します。

ここで私は以下のコードを与えました:

    $msg_email.="BEGIN:VCALENDAR\n";
    $msg_email.="VERSION:2.0\n";
    $msg_email.="PRODID:-//$id//NONSGML $id//EN\n";
    $msg_email.="METHOD:REQUEST\n"; // requied by Outlook
    $msg_email.="BEGIN:VTIMEZONE\n";
    $msg_email.="TZID:$timezone\n";
    $msg_email.="X-LIC-LOCATION:$timezone\n";
    $msg_email.="BEGIN:DAYLIGHT\n";
    $msg_email.="TZOFFSETFROM:+1000\n";
    $msg_email.="TZOFFSETTO:+1100\n";
    $msg_email.="TZNAME:EST\n";
    $msg_email.="DTSTART:19701025T020000\n";
    $msg_email.="RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU\n";
    $msg_email.="END:DAYLIGHT\n";
    $msg_email.="BEGIN:STANDARD\n";
    $msg_email.="TZOFFSETFROM:+1000\n";
    $msg_email.="TZOFFSETTO:+1000\n";
    $msg_email.="TZNAME:EST\n";
    $msg_email.="DTSTART:19700329T020000\n";
    $msg_email.="RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU\n";
    $msg_email.="END:STANDARD\n";
    $msg_email.="END:VTIMEZONE\n";      

    $msg_email.="BEGIN:VEVENT\n";
    $msg_email.="UID:".date('Ymd').'T'.date('His')."-".rand()."-".$b_id."\n"; 
    $msg_email.="DTSTAMP:".date('Ymd').'T'.date('His')."\n"; // required by Outlook
    //$msg_email.="DTSTART:".date('Ymd', $starttime).'T'.date('His', $starttime)."\n";
    $msg_email.="DTSTART1:".date("Ymd", $starttime)."T".date("His", $starttime)."\n";
    $msg_email.="DTEND1:".date('Ymd', $endtime).'T'.date('His', $endtime)."\n";
    $msg_email.="SUMMARY:".$mrbs_company." Booking\n";
    $msg_email.="END:VEVENT\n";
    $msg_email.="END:VCALENDAR\n";

    $msg_email = str_replace("DTSTART1","DTSTART;TZID=\"$timezone\"",$msg_email);
    $msg_email = str_replace("DTEND1","DTEND;TZID=\"$timezone\"",$msg_email);
            $ics_msg="--MIME_BOUNDRY\n";
    $ics_msg.="Content-Type: text/Calendar; name=".$myFile."\n";
    $ics_msg.="Content-disposition: attachment; filename=".$myFile."\n";
    $ics_msg.="Content-Transfer-Encoding: base64\n";
    $ics_msg.="\n";

    $ics_msg.=$msg_email."\n\n";
4

0 に答える 0