lvl: Termine an Outlook versenden

Hi all.

Hier im Forum gabs mal ein ähnliches Thema, jedoch gab es keine Antworten auf das Thema, daher erstelle ich das Thema mal neu.

Ich versuche einen Termin per PHP-Mail Funktion an Outlook 2007 zu senden, was mir nicht so richtig gelingen will.

  
$header .= 'Content-Type: text/x-vCalendar'."\r\n";  
$header .= 'Content-Disposition: inline; filename="event.vcs"'."\r\n";  
$header .= 'Expires: 0'."\r\n";  
$header .= 'Cache-Control: must-revalidate, post-check=0, pre-check=0'."\r\n";  
$header .= 'Pragma: public'."\r\n";  
  
$header .= "  
BEGIN:VCALENDAR  
PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN  
VERSION:1.0  
BEGIN:VEVENT  
DTSTART:20090425T010000Z  
DTEND:20090425T020000Z  
LOCATION:My office  
CATEGORIES:Business  
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Hallihallo=0D=0A  
SUMMARY:Meeting to discuss salaries  
PRIORITY:3  
END:VEVENT  
END:VCALENDAR  
";  
  
$msg .= "";  
  
mail("name@domain.de", "betreff", $msg, $header);  

Ich habe versucht den "BEGIN:VCALENDAR..." in den MSG-Bereich zu setzen, in den Header-Bereich, aber nichts klappt.

Hat einer eine Idee, woran das liegt, oder wo ich einen Fehler mache?

--
MfG lvl
  1. Hallo,

    Ich versuche einen Termin per PHP-Mail Funktion an Outlook 2007 zu senden, was mir nicht so richtig gelingen will.

    das einfachste wäre, eine von Outlook versendete Terminanfrage mal im Quelltext zu betrachten.

    $header .= 'Content-Type: text/x-vCalendar'."\r\n";
    $header .= 'Content-Disposition: inline; filename="event.vcs"'."\r\n";

    Da geht's schon los: Bei den Terminen, die ich von einem Outlook 2007 zugeschickt bekomme, steht diesbezüglich nur die Headerzeile:

    Content-Type: text/calendar; method=REQUEST; charset="utf-8"

    $header .= 'Expires: 0'."\r\n";
    $header .= 'Cache-Control: must-revalidate, post-check=0, pre-check=0'."\r\n";
    $header .= 'Pragma: public'."\r\n";

    Das alles ergibt in Mail-Headern IMHO keinen Sinn.

    $header .= "
    BEGIN:VCALENDAR

    Hier fehlt die Leerzeile, die den Message Body von den Headerzeilen trennt.

    PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN
    VERSION:1.0
    BEGIN:VEVENT
    DTSTART:20090425T010000Z
    DTEND:20090425T020000Z
    LOCATION:My office
    CATEGORIES:Business
    DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Hallihallo=0D=0A
    SUMMARY:Meeting to discuss salaries
    PRIORITY:3
    END:VEVENT
    END:VCALENDAR

    Der restliche Inhalt mag korrekt sein; ich vermute, dass Outlook mit dem "richtigen" Content-Type und der Leerzeile zwischen letzter Headerzeile und Nachrichtenrumpf schon kooperativ wird.

    Ich habe versucht den "BEGIN:VCALENDAR..." in den MSG-Bereich zu setzen

    ... wo es eigentlich auch hingehört. Dann brauchst du dich um die Abtrennung vom Header mit der Leerzeile auch nicht zu kümmern, das macht PHP dann für dich.

    So long,
     Martin

    --
    Ja, ja ... E.T. wusste schon, warum er wieder nach Hause wollte.
    1. Danke für die Tipps, aber es hat leider nicht funktioniert.
      Hab auch versucht, den Header aus einem gesendeten Termin zu verwenden, jedoch kommt dann keine mail an.

      Großes Fragezeichen. :D

      --
      MfG lvl