2008-09-17 8 views
6

Ich habe versucht, das für etwa zwei Wochen herauszufinden. Ich bin in der Lage, E-Mail-Nachrichten in den Ordnern von Personen zu erstellen, die Ordner zu lesen, all diese Dinge, aber für das Leben von mir kann ich nichts mit den Kalendern arbeiten.Beispiel/So erstellen Sie Kalendertermine mit Exchange 03 Webdav und PHP?

Ich kann Beispiele für die XML-Datei bereitstellen, die ich an WebDav sende, aber ich hoffe, dass jemand da draußen dies getan hat und ein Beispiel hat?

Antwort

2

Ich habe dies in einem Java-Programm vor ein paar Jahren zurück, und die Art, wie ich es getan habe, war ein VCALENDAR-Dokument in den Ordner PUT. Eine Besonderheit ist, dass das VCALENDAR in eine RFC822-Nachricht eingefügt werden musste. Es ist eine bizarre Kombination aus WebDAV, E-Mail und iCAL/VCAL, aber es funktionierte damals auf Exchange 2003, das auf Link2Exchange gehostet wurde.

Ich bin mir sicher, dass es einen einfacheren Weg gibt, aber das hat bei mir funktioniert. Im Folgenden zeige ich eine tcpdump-Paket-Ablaufverfolgung von dem, was passiert ist. Sie sollten wahrscheinlich ngrep/tcpdump auf Ihrem eigenen Outlook/Entourage-Client verwenden, um zu sehen, was es tut.

Beachten Sie, dass "Cal2" der Name meines Testkalenderordners ist. Sie würden "Kalender" für den Hauptkalenderordner verwenden.

T 10.0.1.95:59741 -> 66.211.136.9:80 [AP] 
PUT /exchange/yourname.domainname.com/Cal2/CC1.1163646061548.0.eml HTTP/1.1. 
translate: f. 
Content-Type: message/rfc822. 
Pragma: no-cache. 
Accept: */*. 
Cache-Control: no-cache. 
Authorization: Basic NOYOUCANTSEEMYPASSWORDYOUBASTARDS. 
User-Agent: Jakarta Commons-HttpClient/2.0final. 
Host: e1.exmx.net. 
Cookie: sessionid=29486b50-d398-4f76-9604-8421950c7dcd:0x0. 
Content-Length: 478. 
Expect: 100-continue. 
. 


T 66.211.136.9:80 -> 10.0.1.95:59741 [AP] 
HTTP/1.1 100 Continue. 
. 


T 10.0.1.95:59741 -> 66.211.136.9:80 [AP] 
content-class: urn:content-classes:appointment. 
Content-Type: text/calendar;. 
.method=REQUEST;. 
.charset="utf-8". 
Content-Transfer-Encoding: 8bit. 
. 
BEGIN:VCALENDAR. 
BEGIN:VEVENT. 
UID:[email protected]+1382+1014+6+495066799. 
SUMMARY:Voice Architecture Leads Meeting. 
PRIORITY:5. 
LOCATION:x44444 pc:6879. 
DTSTART:20061122T193000Z. 
DTEND:20061122T203000Z. 
DTSTAMP:20061110T074856Z. 
DESCRIPTION:this is a description. 
SUMMARY:this is a summary. 
END:VEVENT. 
END:VCALENDAR. 



T 66.211.136.9:80 -> 10.0.1.95:59741 [AP] 
HTTP/1.1 201 Created. 
Date: Thu, 16 Nov 2006 03:00:16 GMT. 
Server: Microsoft-IIS/6.0. 
X-Powered-By: ASP.NET. 
MS-Exchange-Permanent-URL: http://e1.exmx.net/exchange/yourname.yourdomain.com/-FlatUrlSpace-/122cda661de1da48936f9 
44bda4dde6e-3af8a8/122cda661de1da48936f944bda4dde6e-3f3383. 
Location: http://e1.exmx.net/exchange/yourname.yourdomain.com/Cal2/CC1.1163646061548.0.eml. 
Repl-UID: <rid:122cda661de1da48936f944bda4dde6e0000003f3383>. 
Content-Type: text/html. 
Content-Length: 110. 
Allow: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, COPY, MOVE, PROPFIND, PROPPATCH, SEARCH, SUBSCRIBE, UNSUBSCRIBE, PO 
LL, BDELETE, BCOPY, BMOVE, BPROPPATCH, BPROPFIND, LOCK, UNLOCK. 
ResourceTag: <rt:122cda661de1da48936f944bda4dde6e0000003f3383122cda661de1da48936f944bda4dde6e0000003f4671>. 
GetETag: "122cda661de1da48936f944bda4dde6e0000003f4671". 
MS-WebStorage: 6.5.7638. 
Cache-Control: no-cache. 

.

T 66.211.136.9:80 -> 10.0.1.95:59741 [AP] 
<body><h1>/exchange/yourname.yourdomain.com/Cal2/CC1.1163646061548.0.eml was created successfully</h1></body>. 

Sie können überprüfen, ob es mit so etwas wie Kadaver arbeitete wie so die Eigenschaften des Objekts über WebDAV abfragen:

dav:/exchange/[email protected]/Cal2/> propget CC1.1163646061548.0.eml 
    Fetching properties for `CC1.1163646061548.0.eml': 
    textdescription = this is a description 
    contentclass = urn:content-classes:appointment 
    supportedlock = <lockentry><locktype><transaction><groupoperation></groupoperation></transaction></locktype><locks 
    cope><local></local></lockscope></lockentry> 
    permanenturl = http://e1.exmx.net/exchange/[email protected]/-FlatUrlSpace-/122cda661de1da48936f944bda4dde6e- 
    3af8a8/122cda661de1da48936f944bda4dde6e-3f3383 
    getcontenttype = message/rfc822 
    id = AQEAAAAAOvioAQAAAAA/M4MAAAAA 
    mid = -8992774761696198655 
    uid = [email protected]+1382+1014+6+495066799 
    isfolder = 0 
    resourcetype = 
    method = PUBLISH 
    getetag = "122cda661de1da48936f944bda4dde6e0000003f4671" 
    lockdiscovery = 
    outlookmessageclass = IPM.Appointment 
    creationdate = 2006-11-16T03:00:16.549Z 
    outlookmessageclass = IPM.Appointment 
    creationdate = 2006-11-16T03:00:16.549Z 
    ntsecuritydescriptor = CAAEAAAAAAABAC+MMAAAAEwAAAAAAAAAFAAAAAIAHAABAAAAARAUAL8PHwABAQAAAAAABQcAAAABBQAAAAAABRUAAAC 
    nkePD6LEa8iIT/+gqDAAAAQUAAAAAAAUVAAAAp5Hjw+ixGvIiE//oAQIAAA== 
    dtstamp = 2006-11-10T07:48:56.000Z 
    lastmodified = 2006-11-16T03:00:16.565Z 
    dtstart = 2006-11-22T19:30:00.000Z 
    location = x44444 pc:6879 
    duration = 3600 
    htmldescription = <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> 
    <HTML> 
    <HEAD> 

    <META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7638.1"> 
    <TITLE>this is a summary</TITLE> 
    </HEAD> 
    <BODY> 
    <!-- Converted from text/plain format --> 

    <P><FONT SIZE=2>this is a description</FONT> 
    </P> 

    </BODY> 
    </HTML> 
    ishidden = 0 
    parentname = http://e1.exmx.net/exchange/[email protected]/Cal2/ 
    meetingstatus = TENTATIVE 
    subject = this is a summary 
    getcontentlength = 631 
    normalizedsubject = this is a summary 
    isstructureddocument = 0 
    repl-uid = rid:122cda661de1da48936f944bda4dde6e0000003f3383 
    timezoneid = 0 
    displayname = CC1.1163646061548.0.eml 
    href = http://e1.exmx.net/exchange/[email protected]/Cal2/CC1.1163646061548.0.eml 
    nomodifyexceptions = 1 
    patternend = 2006-11-22T20:30:00.000Z 
    isreadonly = 0 
    instancetype = 0 
    uid = AQEAAAAAPzODAAAAAAAAAAAAAAAA 
    getlastmodified = 2006-11-16T03:00:16.565Z 
    created = 2006-11-16T03:00:16.549Z 
    sensitivity = 0 
    dtend = 2006-11-22T20:30:00.000Z 
    hasattachment = 0 
    iscollection = 0 
    read = 1 
    resourcetag = rt:122cda661de1da48936f944bda4dde6e0000003f3383122cda661de1da48936f944bda4dde6e0000003f4671 
    patternstart = 2006-11-22T19:30:00.000Z 
    priority = 0 
    sequence = 0