Termine an Outlook versenden
lvl
- php
0 Der Martin0 lvl
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?
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
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