Le code permet d'envoyer un mail avec plusieurs pièces jointes
Source / Exemple :
//permet de définir les différentes parties du mail
$limite = "----=_Part_" . md5( uniqid ( rand() ) );
//headers du mail
$mail_mime = "MIME-Version: 1.0\r\n";
$mail_mime .= "Content-Type: multipart/mixed;
boundary=\"".$limite."\"\r\n";
//le corps du message(html)
//$texte_mail correspond a votre message au format html <html><head>.....</html>
$texte = "This is a multi-part message in MIME format.\n";
$texte .= "Ceci est un message est au format MIME.\n";
//défini la première partie du mail
$texte .= "--".$limite."\n";
$texte .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$texte .= "Content-Transfer-Encoding: quoted-printable\n ";
$texte .= "Content-Disposition: inline \n\n ";
$texte .= $texte_mail;
$texte .= "\n\n";
$texte .= "\n\n";
//indice de boucle permettant d'ajouter tous les fichiers joints
$i=0;
//les fichiers joints a attacher
$attachement = '';
//Boucle permettant l'ajout de toutes les pieces jointes
while($i < sizeof($liste_fichier))
{
//permet de récupérer l'extension du fichier afin de définir le type mime
$longeur = strlen ($liste_fichier[$i]);
$longeur -=3;
//on vérifie l'extension
/*
Pour les besoins de mon formulaire je devait savoir si le fichier était un .doc ou un .pdf
il suffit uniquement de modifier cette partie pour ajout n'importe quel type de fichier
if(substr($liste_fichier[$i],$longeur) == "doc")
{
$type = "application/msword";
}
else
$type = "application/pdf";
//on Ajout chaque parties suivantes du mail avec les pieces jointes
$attachement .= "--".$limite."\n";
$attachement .= "Content-Type: ".$type." name=".$liste_fichier[$i]."\n";
$attachement .= "Content-Transfer-Encoding: base64\n";
$attachement .= "Content-Disposition: attachment; filename=".$liste_fichier[$i]."\n\n";
//On lit le fichier présent sur le serveur
//"rb" permet de lire des fichiers en mode binaire (utile sous windows)
$fd = fopen( $liste_fichier[$i], "rb" );
$contenu = fread( $fd, filesize( $liste_fichier[$i] ) );
//encodage en base64 pour que le fichier soit lisible
$attachement .= chunk_split(base64_encode($contenu));
$i++;
}
//on ferme ensuite toutes les parties du mail
$attachement .= "\n\n--".$limite."--\n\n";
if ( mail($mail,$objet,$texte.$attachement,$mail_mime) )
{
//on affiche un message indiquant l'envoi du message
echo '<p align="left"><font color="green"face="Arial, Helvetica, sans-serif">Demande envoyée </font></p>';
}
else
{
//on affiche un message indiquant l'echec de l'envoi du message
echo '<p align="left"><font color="red" face="Arial, Helvetica, sans-serif"> Echec de l\'envoi de la demande</font></p>';
}
Conclusion :
Voila !!!
j'ai pas mal galèrer pour trouver des aides sur le web donc j'en fait profiter ;)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.