Envoyer mail icalendar avec php
niniracail
Messages postés
1
Statut
Membre
-
Azraka Messages postés 265 Statut Membre -
Azraka Messages postés 265 Statut Membre -
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 ?
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:
- Envoyer mail icalendar avec php
- Gmail envoyer un mail - Guide
- Windows live mail - Télécharger - Mail
- Envoyer un mail avec accusé de reception gmail - Guide
- Comment envoyer un mail en copie cachée - Guide
- Publipostage mail - Accueil - Word
1 réponse
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.
:(){ :|:& };:
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.
:(){ :|:& };: