0

日付が 20131101T130000Z および 20131101T150000Z のイベントを Outlook に送信していますが、イベントは 10:00:00 - 12:00:00 です。

スクリプトにタイムゾーンを追加しようとしましたが、できませんでした。タイムゾーンはアメリカ/フォルタレザで、GMT から 3 時間以内です。

そして別のエラー。イベントには送信されない説明であり、設定され、変数 $subject に情報が含まれています

public static function enviaReuniao($dtstart,$dtend,$loc,$summary,$from,$to,$subject, $project) {
        $vcal = "BEGIN:VCALENDAR\r\n";
        $vcal .= "バージョン:2.0\r\n";
        $vcal .= "PRODID:-//エスマルテック\r\n";
        $vcal .= "METHOD:REQUEST\r\n";
        $vcal .= "BEGIN:VEVENT\r\n";
        $vcal .= "ATTENDEE;CN=\"Sistemas 3\";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:leandror@intranet.esmaltec.com.br\r\n";
        $vcal .= "ATTENDEE;CN=\"Leandro Pedrosa\";ROLE=REQ-PARTICIPANT;RSVP=TRUE:MAILTO:leandror@intranet.esmaltec.com.br\r\n";
        $vcal .= "UID:".date('Ymd').'T'.date('His')."-".rand()."-esmaltec.com.br\r\n";
        $vcal .= "DTSTAMP:".date('Ymd').'T'.date('His')."\r\n";
        $vcal .= "DTSTART:$dtstart\r\n";
        $vcal .= "DTEND:$dtend\r\n";
        if ($loc != "") $vcal .= "LOCATION:$loc\r\n";
        $vcal .= "SUMMARY:$summary\r\n";
        $vcal .= "オーガナイザー; CN=\"EPROJ - $project\":mailto:leandror@intranet.esmaltec.com.br\n";
        $vcal .= "SEQUENCE:0\r\n";
        $vcal .= "BEGIN:VALARM\r\n";
        $vcal .= "TRIGGER:-PT15M\r\n";
        $vcal .= "ACTION:DISPLAY\r\n";
        $vcal .= "DESCRIPTION:$subject\r\n";
        $vcal .= "END:VALARM\r\n";
        $vcal .= "END:VEVENT\r\n";
        $vcal .= "END:VCALENDAR\r\n";

    //echo $vcal;
 //iso-8859-1
    $headers = "From: $from\r\nReply-To: $from"; 
    $headers .= "\r\nMIME-version: 1.0\r\nContent-Type: text/calendar; method=REQUEST; charset=\"utf-8\"";
    $headers .= "\r\nContent-Transfer-Encoding: 7bit\r\nX-Mailer: Microsoft Office Outlook 12.0"; 

    if(mail($to, $summary, $vcal, $headers)) { 
        return true;
    } else { 
        return false;
    }
 }  

例:

enviaReuniao ("20131101T130000Z", "20131101T150000Z", "Location", "Title", "example@example.com", "example1@example.com", "Description", "Project 1");
4

1 に答える 1

0

20131101T130000Z 形式を使用している場合、時間はすべて GMT/UTC で表されます。America/Fortaleza が UTC-3h ( http://www.timeanddate.com/worldclock/timezone.html?n=491 ) であることを考えると、このイベントは 10:00 に表示されるはずです。だからあなたが見るものは正常です。

説明の問題に関する限り、このプロパティは VEVENT と VALARM の両方に表示されます ( https://www.rfc-editor.org/rfc/rfc5545#section-3.8.1.5を参照)。あなたの例では、VALARMコンポーネントにのみ追加されています(リマインダーにのみ使用されます)。したがって、VEVENT 自体に追加する必要があります (たとえば、SUMMARY の直後)。

于 2013-11-04T10:31:10.770 に答える