Envoyer mail icalendar avec php

Fermé
niniracail Messages postés 1 Date d'inscription mercredi 6 février 2013 Statut Membre Dernière intervention 6 février 2013 - 6 févr. 2013 à 15:05
Azraka Messages postés 252 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 5 juin 2014 - 8 févr. 2013 à 14:42
Bonjour,

Cela fait un moment que je planche sur un problème.

Situation : je souhaite envoyer un email en php qui enverrai une demande de rendez vous sur outlook via icalendar. Le mail refuse de s'envoyer et je ne comprend pas pourquoi.

Voici mon code :

define('MAIL_DESTINATAIRE',''.$ligne['email'].'');
define('MAIL_SUJET',''.$ligne_cat['nom_type_evenement'].' du '.$jour.' '.$mois_fr[$mois].' '.$annee.'');

$eol = "\r\n";
$headers = 'From: '.$ligne0['email'].$eol ;
$headers .= 'Subject: Trying' . $eol;
$headers .= 'Mime-Version:1.0' .$eol;
$headers .= 'Content-Type: text/x-VCalendar; method=REQUEST; charset=US-ASCII'.$eol;
$headers .= 'Content-Transfer-Encoding: 8bit'.$eol;

$message = "BEGIN:VCALENDAR".$eol;
$message .= "VERSION:1.0".$eol;
$message .= "BEGIN:VEVENT".$eol;
$message .= "CATEGORIES:MEETING".$eol;
$message .= "STATUS:TENTATIVE".$eol;
$message .= "DTSTART:".$a.$m.$j."T".$heure.$min.$sec."00Z".$eol;
$message .= "DTEND:".$a.$m.$j."T".$heure.$min.$sec."00Z".$eol;
$message .= "DESCRIPTION:".$ligne_cat['nom_type_evenement'].$eol;
$message .= "CLASS:PRIVATE".$eol;
$message .= "END:VEVENT".$eol;
$message .= "END:VCALENDAR".$eol;

// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$headers,$message))
{
//Le mail est bien expédié
echo 'Le mail a bien été envoyé';
}
else
{
//Le mail n'a pas été expédié
echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}

A noter que les variables sont bien récupérées.
MAIL_DESTINATAIRE et MAIL_SUJET retournent bien ce qu'il faut.

Le message "Une erreur est survenue lors de l'envoi du formulaire par email" s'affiche et je ne comprend pas pourquoi.

Pourriez vous m'aider à comprendre svp ?
A voir également:

1 réponse

Azraka Messages postés 252 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 5 juin 2014 13
Modifié par Azraka le 8/02/2013 à 14:43
Bonjour,

Sauf erreur de ma part la fonction mail prend le paramètre message avant celui des headers, vous avez inversé.

Petite remarque supplémentaire : php dispose d'une constante PHP_EOL qui contient les caractères retours à la ligne (en fonction de la plate forme (windows ou linux) en plus).
Vous pouvez utiliser ça au lieu de votre $eol.

:(){ :|:& };:
0