PHP envoyer un RDV sur Outlook

PHP envoyer un RDV sur Outlook - PHP - Programmation

Marsh Posté le 07-03-2008 à 10:59:05    

Salut à tous,
 
J'aimerais envoyer une invit de RDV sur Outlook. Cependant sur le net, les tuto sur ce genre de sujet ne cour pas les rues. Alors je viens vous demander de l'aide.
 
Les rendez vous sur Outlook correspondent à des fichiers nommés Vcalendar. Ils portent l'extension ".vcs".
 
En clair, je voudrais que celui qui reçoit le mail sur Outlook, reçoit en même temps une invit de RDV et qu'il puisse accepter ou non l'invit qui s'ajoutera dans son calendrier.
 
Voila mon code :
--------------------------------------------------------------------------------------------------------------------------
 
<html>
    <head>
    </head>
    <body>
        <?php
            $headers ="From: mail \n";
            $headers .='Reply-To: mail'."\n";
            $headers .='Content-Type: text/x-vCalendar; multipart/alternative; charset="iso-8859-1"'."\n";
            $headers .= 'MIME-Version: 1.0'."\n";
 
 
//creation du fichier agenda.vsc (pour Outlook)
 
$fichier=fopen("agenda.vcs","w" );
    fputs($fichier,"BEGIN:VCALENDAR\n" );
    fputs($fichier,"PRODID:-//Microsoft Corporation//Outlook 9.0 MIMEDIR//FR\n" );
     fputs($fichier,"VERSION:1.0\n" );
fclose($fichier);
 
 
$jour = date('d');
$mois = date('m');
$annee = date('Y');
$heure = date('h');
$min = date('i');
$sec = date('s');
 
            $fichier=fopen("agenda.vcs","a" );
 
               fputs($fichier,"BEGIN:VEVENT\n" );
            fputs($fichier,"MAILTO:{mail}\n" );
            fputs($fichier,"ORGANIZER:MAILTO:{mail}\n" );
            fputs($fichier,"DTSTART:".$annee.$mois.$jour."T".$heure.$min.$sec."00Z\n" );
            fputs($fichier,"DTEND:".$annee.$mois.$jour."T".$heure.$min.$sec."00Z\n" );
            fputs($fichier,"LOCATION;ENCODING=QUOTED-PRINTABLE:\n" );
            fputs($fichier,"UID:".time()."\n" );
            fputs($fichier,"DESCRIPTION;ENCODING=QUOTED-PRINTABLE:\n" );
            fputs($fichier,"SUMMARY;ENCODING=QUOTED-PRINTABLE:\n" );
            fputs($fichier,"PRIORITY:3\n" );
            fputs($fichier,"CLASS:PUBLIC\n" );
            fputs($fichier,"BEGIN:VALARM\n" );
            fputs($fichier,"TRIGGER:PT{alarm}M\n" );
            fputs($fichier,"END:VALARM\n" );
            fputs($fichier,"END:VEVENT\n" );
 
            fputs($fichier,"END:VCALENDAR\n" );
            fclose($fichier);
           
    //$message=
    if(mail('mail', 'test Vcalendar', $message, $headers))
    {
        echo 'Le message a bien &eacute;t&eacute; envoy&eacute;';
    }
    else
    {
        echo 'Le message n\'a pu être envoy&eacute;';
    }
    ?>
    </body>
</html>
 
--------------------------------------------------------------------------------------------------------------------------
Pour info le fichier se crée bien dans le répertoire courant et il n'y a pas d'erreur dans le code, il faut ajouter quelque chose. Cela envoi un mail simple sans invitation de RDV sur Outlook. J'y suis presque, il doit me manquer pas grand chose pour y arriver.
 
Si vous avez des idées ou si vous voulez plus d'infos n'hésitez pas.
Que me manque t'il ? En espérant avoir été clair.
 
Merci d'avance de vos réponse.
 

Reply

Marsh Posté le 07-03-2008 à 10:59:05   

Reply

Marsh Posté le 07-03-2008 à 11:13:05    

Il faudrait envoyer le fichier vcs en pièce jointe, nan [:petrus dei]

Reply

Marsh Posté le 07-03-2008 à 11:19:20    

J'ai déjà essayé de l'envoyer en pièce jointe mais ce n'est pas le but. Il faudrait que ça envoi directement dans le calendrier du destinataire. C'est possible, mais là je stagne. Il faut peut être modifier le header mais je sais pas quoi mettre.

Reply

Marsh Posté le 07-03-2008 à 11:23:50    

Ah mon avis, c'est déjà obligatoire d'envoyer le fichier en pièce jointe (sinon comment outlook trouverait l'invit ?). Après faut voir effectivement s'il n'y a pas quelque chose de spéciale à mettre dans le mail, faut voir dans la référence d'outlook pour ça

Reply

Marsh Posté le 07-03-2008 à 11:26:52    

D'après les infos que j'ai pu récupérer ce n'est pas en pièce jointe qu'il faut mettre le fichier .vcs mais au format alternatif. Pourtant c'est ce que je lui met dans le header. Après je sais pas quel est la différence entre alternatif et pièce jointe.
 
Où peut-on trouver un manuel référence Outlook sur le net ? Avez vous un lien, svp.


Message édité par medinrecords le 07-03-2008 à 11:36:40
Reply

Marsh Posté le 08-01-2010 à 10:18:46    

Bonjour, je ressors cette discussion car je suis également à la recherche de la solution. J'en suis au même point medinrecords: je ne trouve pas le moyen d'envoyer le mail de manière à ce qu'outlook le reconnaisse directement comme invitation au calendrier...
 
Merci d'avance pour votre aide!

Reply

Marsh Posté le 26-10-2010 à 00:53:45    

Up !
 
Je vais surement avoir le meme pb dans qq jours /semaines, si y'en a qui on avancé sur le sujet :)

Reply

Marsh Posté le 26-10-2010 à 15:17:17    

en farfouillant sur le net j'ai trouvé ça :

Citation :

Hors ligne spacemarmotte  # Posté le 26/04/2010 à 11:50:54
Avatar
 
 
Bonjour
 
il suffit de créer un fichier iCalendar:
cf exemple Wikipédia http://fr.wikipedia.org/wiki/ICalendar
Et de le proposer comme fichier à charger sur la page web ou de le joindre en PJ d'un mail. Si l'utilisateur dispose d'Outlook (client lourd) sur son poste, le fichier s'intégrera dans son agenda.
 
J'espère que ca répond à la question de base !


 
je ne sais pas si ça marche, mais c'est à essayer :)


---------------
Tout à commencé par un rêve...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed