Agregar eventos al calendario de outlook con el script de php

Quiero añadir eventos de mi calendario de outlook desde el código php. Como outlook puede aceptar un archivo de extensión «.ics», he probado este código de ejemplo para generar un archivo ics:

<?php
header("Content-Type: text/Calendar");
header("Content-Disposition: inline; filename=calendar.ics");
echo "BEGIN:VCALENDAR\n";
echo "VERSION:2.0\n";
echo "PRODID:www.testMeiCalendar.net\n";
echo "METHOD:REQUEST\n"; //requied by Outlook
echo "BEGIN:VEVENT\n";
echo "DTSTART:20101231T230000\n";
echo "DTEND:20110101T010000\n";
echo "SUMMARY:New Years Eve Reminder\n";
echo "LOCATION:Downtown\n";
echo "DESCRIPTION:Let's get together for New Years Eve\n";
echo "UID:ABCD1234\n";
echo "SEQUENCE:0\n";
echo "DTSTAMP:20101125T112600\n";
echo "END:VEVENT\n";
echo "END:VCALENDAR\n";
?>

Así que ahora cuando ejecuto este código en Firefox, tengo un pop-up preguntando para abrir el generado archivo ics usando el Microsoft Outlook y he abierto y guardado en outlook y, finalmente, agrega un evento en outlook.

Pero, ¿hay alguna manera de automatizar este proceso? Quiero decir, puedo guardar el evento en el calendario de Outlook directamente desde un script php, sin necesidad de generar un archivo ics y el ahorro?

Eres consciente de anexar un off-topic enlace como que a tu pregunta es el spam?
Oh.. Albiero, lo siento.. voy a quitar ese enlace. Pensé que mencionar que el enlace para echar un vistazo a la situación actual de mí.

OriginalEl autor shasi kanth | 2011-05-13

6 Kommentare

  1. 3

    Cómo su aplicación de servidor debe ser capaz de acceder a una aplicación de cliente? Usted puede enviar un correo electrónico a su cliente con una entrada de la agenda. Tal vez esto es un poco más cómodo para el usuario.

    Puedo añadir evento al servidor de exchange a través de WEBDAV, y, a continuación, sincronizar el servidor de exchange con outlook del usuario.
    Sry, esa pregunta que no puedo responder.

    OriginalEl autor DanielB

  2. 5
    <?php
    /**
     * @category   iCalendar
     * @description Basic code for sending an event invitation.
     * @version    1.0
    */
    
    //Create ICAL Content (Google rfc 2445 for details and examples of usage) 
    //reference : http://www.mavetju.org/programming/outlook-ics.php
    
    $message="BEGIN:VCALENDAR
    VERSION:2.0
    CALSCALE:GREGORIAN
    METHOD:REQUEST
    BEGIN:VEVENT
    DTSTART:20110718T121000Z
    DTEND:20110718T131000Z
    DTSTAMP:20110525T075116Z
    ORGANIZER;CN=From Name:mailto:from email id
    UID:12345678
    ATTENDEE;PARTSTAT=NEEDS-ACTION;RSVP= TRUE;CN=Sample:mailto:[email protected]
    DESCRIPTION:This is a test of iCalendar event invitation.
    LOCATION: Kochi
    SEQUENCE:0
    STATUS:CONFIRMED
    SUMMARY:Test iCalendar
    TRANSP:OPAQUE
    END:VEVENT
    END:VCALENDAR";
    
    /*Setting the header part, this is important */
    $headers = "From: From Name <From Mail>\n";
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: text/calendar; method=REQUEST;\n";
    $headers .= '        charset="UTF-8"';
    $headers .= "\n";
    $headers .= "Content-Transfer-Encoding: 7bit";
    
    /*mail content , attaching the ics detail in the mail as content*/
    $subject = "Meeting Subject";
    $subject = html_entity_decode($subject, ENT_QUOTES, 'UTF-8');
    
    /*mail send*/
    if(mail("To email", $subject, $message, $headers)) {
    
        echo "sent";
    }else {
        echo "error";
    }
    
    ?>
    Esto no funciona en outlook…

    OriginalEl autor Haneefa

  3. 4

    Si usted no ha implementado todavía, CalDAV (http://caldav.calconnect.org/) proporciona el calendario de las extensiones de WebDAV, si usted necesita para agregar esta funcionalidad a su sitio. DAViCAL (http://www.davical.org/) parece ofrecer una solución a su problema pero no lo he usado por lo YMMV.

    OriginalEl autor ipe

  4. 3

    He jugado con este y Outlook se añadirá automáticamente a la agenda si usted enviar como un correo electrónico y la dirección es la misma dirección de correo electrónico como la configuración de la cuenta en Outlook. Tan pronto como Outlook descarga el mensaje se agrega automáticamente en el calendario.

    Esto puede ser difícil con algunos servidores que validar la dirección. por ejemplo, Si trato de enviar un correo electrónico con mi [email protected] cuenta con «[email protected]», Gmail se niegan a enviar porque piensa que estoy tratando de forjar un correo electrónico. Te gustaría idealmente necesidad del usuario las credenciales smtp para poder enviar el correo electrónico de su cuenta.

    OriginalEl autor Pitchinnate

  5. 2

    Hice esto con PHP, básicamente, la creación de un evento de ical en línea en un archivo php que no requiere de librerías adicionales para aquellos de ustedes que todavía no querer hacerlo. Outlook/iCal evento con PHP

    Básicamente hice así

    echo "BEGIN:VCALENDAR\n";
    echo "VERSION:2.0\n";
    echo "PRODID:-//YourSite//NONSGML YourSite//EN\n";
    echo "METHOD:PUBLISH\n"; //required by Outlook
    echo "BEGIN:VEVENT\n";
    echo "UID:".date('Ymd').'T'.date('His')."-".rand()."-yoursite.com\n"; //required by Outlook
    echo "DTSTAMP:".date('Ymd').'T'.date('His')."\n"; //required by Outlook
    echo "DTSTART:$year"."$month"."$day"."T"."$time\n"; //20120824T093200 (Datetime format required) 
    echo "SUMMARY:$summary\n";
    echo "DESCRIPTION: this is just a test\n";
    echo "END:VEVENT\n";
    echo "END:VCALENDAR\n";

    OriginalEl autor Drazion

  6. -3

    No se puede.

    PHP es un lenguaje de secuencias de comandos para crear (principalmente) de las páginas web, y se ejecuta en los servidores web. No puede modificar los equipos de los usuarios.

    Por cierto, yo no creo que se pueda – de alguna manera – insertar un evento en el calendario de un usuario sin algún tipo de interacción con el usuario. Junto a razones técnicas, se trata de un problema de seguridad, usted no puede ir alrededor de meterse con otros pueblos Pc.

    Creo que hay 2 opciones todavía. Uno es el uso de WEBDAV para añadir evento de php al servidor de exchange y, a continuación, sincronizar con outlook. Segunda extraño opción es subir el generado archivo ics para el calendario de Outlook eventos carpeta en el pc. Pero eso es raro. Así que mirando la primera opción.

    OriginalEl autor Albireo

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea