scipt converti en fonction ne marche plus
Posté : 30 juil. 2013, 11:23
Bonjour,
j'ai le script ci-après qui fonctionne à merveille. Il envoie un mail avec 5 pièces jointes.
quand je le transforme en fonction mailingmailo le mail est bien envoyé mais il n'y a pas de pièces jointes.
je cherche depuis plusieurs jours.
merci
script envoi de mail avec 5 pièces jointes:
je ne passe pas de paramètres pour raison de tests
j'ai le script ci-après qui fonctionne à merveille. Il envoie un mail avec 5 pièces jointes.
quand je le transforme en fonction mailingmailo le mail est bien envoyé mais il n'y a pas de pièces jointes.
je cherche depuis plusieurs jours.
merci
script envoi de mail avec 5 pièces jointes:
<?php
/*-----------------------------------------------------------------------*/
require("ENI_mail_fonctions.inc.php"); // fonctions mail
/*-----------------------------------------------------------
PARTIE COMMUNE DU MESSAGE ENTETES
-----------------------------------------------------------*/
$emet="[email protected]"; // emetteur
$destinataires = "[email protected]"; // destinataires
$objet = "Bonjour !"; // objet
//en-têtes supplémentaires (ça veut dire quoi ?)
$entêtes = "";
$entêtes .= "From: \"Radinor\" <$emet>\r\n"; // origine du message
/*
// - message au format Multipart MIME
--------------------------------*/
$entêtes .= "MIME-Version: 1.0\r\n";
$entêtes .= "Content-Type: multipart/mixed; ";
$entêtes .= "boundary=\"=O=L=I=V=I=E=R=\"\r\n";
/*
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ message $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*/
$message = "";
/*
// - première partie du message (texte proprement dit)
-------------------------------------------------
*/
/*
// - en-tête de la partie
--------------------
*/
$message .= "--=O=L=I=V=I=E=R=\r\n";
$message .= "Content-Type: text/plain; ";
//$message .= "Content-Type: text/html; ";
$message .= "charset=iso-8859-1\r\n ";
//$message .= "charset=utf-8\r\n ";
$message .= "Content-Transfer-Encoding: 8bit\r\n";
$message .= "\r\n"; // ligne vide
/*
// - données de la partie
*/
//
$message .= "Voir la pièce jointe.\r\n";
$message .= "\r\n"; // ligne vide
/*
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ pièces jointes $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*/
/* externalisé hors de la fonction */
$pieces_jointes[0]="pieces_jointes/ch10-03_jro_003_20130327_1_fichier_saisie_sur_retraites.html";
$pieces_jointes[1]="pieces_jointes/ch10-03_jro_004_20130327_TF_et_TH_2012_saisie_sur_retraites.pdf"; // pièce jointe
$pieces_jointes[2]="pieces_jointes/ch10-03_jro_001.doc";
$pieces_jointes[3]="pieces_jointes/ch10_envoyer_un_courrier_electronique.xls";
$pieces_jointes[4]="pieces_jointes/20121225_04_300x225.JPG";
/**/
foreach ($pieces_jointes as $value)
{
$Ctype1="Content-Type: application/octet-stream; ";
piece_jointe($value,$Ctype1);
}
/*
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ délimiteur de fin du message $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*/
// délimiteur de fin du message
$message .= "--=O=L=I=V=I=E=R=--\r\n";
/*
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ envoi du message $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*/
// envoi du message
$ok = mail($destinataires,$objet,$message,$entêtes);
if ($ok) :
echo "message bien envoyé à $destinataires<br>";
else:
echo "erreur dans l'envoi";
endif;
?>
appel de la fonction mailingmailoje ne passe pas de paramètres pour raison de tests
<?php
require("ENI_mail_fonctions.inc.php"); // fonctions mail
mailingmailo();
?>
fonction mailingmailo et piece_jointe dans fichier ENI_mail_fonctions.inc.php:<?php
function mailingmailo(){
/*---------------------------------------------------------------
/*-----------------------------------------------------------------------*/
//require("ENI_mail_fonctions.inc.php"); // fonctions mail
/*-----------------------------------------------------------
PARTIE COMMUNE DU MESSAGE ENTETES
-----------------------------------------------------------*/
$emet="[email protected]"; // emetteur
$destinataires = "[email protected]"; // destinataires
$objet = "Bonjour !"; // objet
//en-têtes supplémentaires (ça veut dire quoi ?)
$entêtes = "";
$entêtes .= "From: \"Radinor\" <$emet>\r\n"; // origine du message
/*
// - message au format Multipart MIME
--------------------------------*/
$entêtes .= "MIME-Version: 1.0\r\n";
$entêtes .= "Content-Type: multipart/mixed; ";
$entêtes .= "boundary=\"=O=L=I=V=I=E=R=\"\r\n";
/*
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ message $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*/
$message = "";
/*
// - première partie du message (texte proprement dit)
-------------------------------------------------
*/
/*
// - en-tête de la partie
--------------------
*/
$message .= "--=O=L=I=V=I=E=R=\r\n";
$message .= "Content-Type: text/plain; ";
//$message .= "Content-Type: text/html; ";
$message .= "charset=iso-8859-1\r\n ";
//$message .= "charset=utf-8\r\n ";
$message .= "Content-Transfer-Encoding: 8bit\r\n";
$message .= "\r\n"; // ligne vide
/*
// - données de la partie
*/
//
$message .= "Voir la pièce jointe.\r\n";
$message .= "\r\n"; // ligne vide
/*
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ pièces jointes $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*/
/* externalisé hors de la fonction */
$pieces_jointes[0]="pieces_jointes/ch10-03_jro_003_20130327_1_fichier_saisie_sur_retraites.html";
$pieces_jointes[1]="pieces_jointes/ch10-03_jro_004_20130327_TF_et_TH_2012_saisie_sur_retraites.pdf"; // pièce jointe
$pieces_jointes[2]="pieces_jointes/ch10-03_jro_001.doc";
$pieces_jointes[3]="pieces_jointes/ch10_envoyer_un_courrier_electronique.xls";
$pieces_jointes[4]="pieces_jointes/20121225_04_300x225.JPG";
/**/
foreach ($pieces_jointes as $value)
{
$Ctype1="Content-Type: application/octet-stream; ";
piece_jointe($value,$Ctype1);
}
/*
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ délimiteur de fin du message $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*/
// délimiteur de fin du message
$message .= "--=O=L=I=V=I=E=R=--\r\n";
/*
//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ envoi du message $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
*/
// envoi du message
$ok = mail($destinataires,$objet,$message,$entêtes);
if ($ok) :
echo "message bien envoyé à $destinataires<br>";
else:
echo "erreur dans l'envoi";
endif;
}
function piece_jointe($pj,$Ctype)
/*-------------------------------
joindre un fichier
-------------------------------*/
{
// - nième partie du message (pièce-jointe)
// -----------------------------------------
//
// - en-tête de la partie
// --------------------
//
global $message;
$message .= "--=O=L=I=V=I=E=R=\r\n";
//$message .= "Content-Type: application/octet-stream; ";
$message .= $Ctype;
$message .= "name=$pj\r\n";
$message .= "Content-Transfer-Encoding: base64\r\n";
$message .= "Content-Disposition: attachment; ";
$message .= "filename=$pj\r\n";
$message .= "\r\n"; // ligne vide
/*
// - lecture du fichier correspond à la pièce jointe
// -----------------------------------------------
*/
echo "$pj<br>";
$fichier = fopen($pj,"rb");
$données = fread($fichier,filesize($pj));
fclose($fichier);
/*
// - encodage et découpage des données
// ---------------------------------
*/
$données = chunk_split(base64_encode($données));
/*
// - données de la partie (intégration dans le message)
// --------------------------------------------------
*/
$message .= "$données\r\n";
$message .= "\r\n"; // ligne vide
}
?>