ENVOI DE MAIL AVEC PIECE JOINTE

Signaler
Messages postés
265
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
27 octobre 2014
-
Messages postés
2
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
5 janvier 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/26501-envoi-de-mail-avec-piece-jointe

Messages postés
2
Date d'inscription
lundi 24 décembre 2007
Statut
Membre
Dernière intervention
5 janvier 2011

Bonjour,

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
Messages postés
2
Date d'inscription
vendredi 28 juillet 2006
Statut
Membre
Dernière intervention
16 septembre 2008

Bonjour,

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
Messages postés
2
Date d'inscription
vendredi 28 juillet 2006
Statut
Membre
Dernière intervention
16 septembre 2008

Bonjour,
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.
Messages postés
11
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
9 mars 2011

Personnellement j'ai utilisé le code du message posté par creation3w le 14/02/2007, et ca fonctionne très bien.
Afficher les 21 commentaires