Soyez le premier à donner votre avis sur cette source.
Snippet vu 66 742 fois - Téléchargée 35 fois
function mail_attachement($to , $sujet , $message , $fichier , $typemime , $nom , $reply , $from){ $limite = "_parties_".md5(uniqid (rand())); $mail_mime = "Date: ".date("l j F Y, G:i")."\n"; $mail_mime .= "MIME-Version: 1.0\n"; $mail_mime .= "Content-Type: multipart/mixed;\n"; $mail_mime .= " boundary=\"----=$limite\"\n\n"; //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML $texte = "This is a multi-part message in MIME format.\n"; $texte .= "Ceci est un message est au format MIME.\n"; $texte .= "------=$limite\n"; $texte .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; $texte .= "Content-Transfer-Encoding: 7bit\n\n"; $texte .= $message; $texte .= "\n\n"; //le fichier $attachement = "------=$limite\n"; $attachement .= "Content-Type: $typemime; name=\"$nom\"\n"; $attachement .= "Content-Transfer-Encoding: base64\n"; $attachement .= "Content-Disposition: attachment; filename=\"$nom\"\n\n"; $fd = fopen( $fichier, "r" ); $contenu = fread( $fd, filesize( $fichier ) ); fclose( $fd ); $attachement .= chunk_split(base64_encode($contenu)); $attachement .= "\n\n\n------=$limite\n"; return mail($to, $sujet, $texte.$attachement, "Reply-to: $reply\nFrom: $from\n".$mail_mime); }
5 août 2009 à 15:38
Est il possible d'envoyer le mail avec une pièce jointe sans passer par le formulaire. C'est a dire avec uniquement l'emplacement du fichier sur le serveur.
merci
16 sept. 2008 à 10:44
oubliez mon message précédent ! J'ai trouvé, il faut juste que je me repose un peu....
et que j'enlève mes 't' au mot tranfert :
"Content-Transfer-Encoding" et non "Content-Transfert-Encoding"
bonne journée
15 sept. 2008 à 16:55
j'ai des soucis avec l'envoi de fichiers attachés de type texte !
Je reçois bien un email avec mes 5 fichiers attachés mais le contenu des fichiers reçu est toujours codé en base 64 !
Est-ce que quelqu'un peut m'aider ?
Voici mon code :
$aFicPieceJointe[] = "$fic1.txt";
$aFicPieceJointe[] = "$fic2.txt";
$aFicPieceJointe[] = "$fic3.txt";
$aFicPieceJointe[] = "$fic4.txt";
$aFicPieceJointe[] = "$fic5.txt";
$objet_mail = "bidon"; // objet du mail
$desti_mail = "bidon@bidon.com";// destinataire
// permet de définir les différentes parties du mail
$limite = "----=_Part_".md5(uniqid(rand()));
// headers du mail
$headers ="From: bidon@bidon.com\n";
$headers .="MIME-Version: 1.0\n";
$headers .="Content-Type: multipart/mixed; boundary="".$limite.""\r\n";
// corps du message
// partie texte
$texte = "--".$limite."\n";
$texte .= "Content-Type: text/plain; charset="iso-8859-1"\n";
$texte .= "Texte du mail bidon\n\n";
// fichiers joints à attacher
$attachement = "";
// tableau des fichiers à mettre en pièces jointes
if (is_array($aFicPieceJointe))
{
for ($i=0 ; $i<count($aFicPieceJointe) ; $i++)
{
$attachement .= "--".$limite."\n";
$attachement .= "Content-Type: text/plain; charset="iso-8859-1" name="".$aFicPieceJointe[$i].""\n";
$attachement .= "Content-Transfert-Encoding: base64\n";
$attachement .= "Content-Disposition: attachment; filename="".$aFicPieceJointe[$i].""\n\n";
// lecture du fichier présent sur le serveur
$fd = fopen($aFicPieceJointe[$i],"rb");
$contenu = fread($fd,filesize($aFicPieceJointe[$i]));
fclose($fd);
// encodage en base64 pour que le fichier soit lisible
$attachement .= chunk_split(base64_encode($contenu));
}
// on ferme ensuite toutes les parties du mail
$attachement .= "\n\n--".$limite."--\n\n";
// on envoi le mail
if (mail($desti_mail,$objet_mail,$texte.$attachement,$headers))
{
// envoi réussi
}
else
{
// envoi raté
}
}// if (is_array($aFicPieceJointe))
Merci d'avance.
24 déc. 2007 à 11:56
6 août 2007 à 10:34
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.