Envoi de mail avec piece jointe

Soyez le premier à donner votre avis sur cette source.

Snippet vu 59 530 fois - Téléchargée 33 fois

Contenu du snippet

Ce code n'est pas de moi mais fonctionne tres bien pour les pieces jointes dans le mail alors je vous le livre en pature lol ;

Source / Exemple :


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); 
}

Conclusion :


Voila ;-)

A voir également

Ajouter un commentaire

Commentaires

pouda
Messages postés
265
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
27 octobre 2014
-
heuu stp tu peux commenter la fonction getmxrr car je ne la comprend pas trop
cs_Antidote
Messages postés
163
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
8 mai 2010
-
Alors là j'avoue que ça me semble très très ambigue ton code.... Je n'ai pas testé mais à une première lecture :

Où est l'envoie avec pièce jointe ? Je ne vois que la connection à un serveur mail... Oo

J'aime le if (!$connection) return true Oo

Ce que je vois dans ton code c'est un checker de mail c'est tout :(

getmxrr pour info retourne la liste des serveur mail trouvé sur l'host envoyé en paramètre. (d'après ce que j'ai compris de php.net)

Et puis au minimum tape ton code clairement, indique la véritable source, met des commentaires...

(désolé c'est pas contre toi)
Magidev
Messages postés
250
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
28 août 2009
-
Voila, l'erreur est corrigée, je m'était trompé de source lol ;-)
cs_plopman
Messages postés
67
Date d'inscription
dimanche 29 février 2004
Statut
Membre
Dernière intervention
13 septembre 2006
-
Joli code :) Moi j'aime bien ! Dis donc magidev tu publies plus de 5 codes par semaine :p
Allez 7/10
Plopman
cs_Antidote
Messages postés
163
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
8 mai 2010
-
Ahhhhhhhh ça me rassure, j'en perdait mon php =p La c'est correct , je préfère ^^

Il serait intéressant que tu précise les différents type mime (pour la variable $typemime) qui sont accpter =)

La source est propre c'est bien.

Par contre je me demande si il ne manque pas des " -- " après les $limite entre les parties du mail.

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.