Envoi mail + pièce jointe
Résolu
Mopire
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
mpmp93 Messages postés 6648 Date d'inscription Statut Membre Dernière intervention -
Bonjour a tous,
Je souhaite envoyé un mail avec une pièce jointe mais je galère.
J'arrive à envoyé un mail, mais au niveau de la pièce jointe ça déconne.
Voici mon code :
Je souhaite envoyé un mail avec une pièce jointe mais je galère.
J'arrive à envoyé un mail, mais au niveau de la pièce jointe ça déconne.
Voici mon code :
<?php $nom = $_POST['nom']; $prenom = $_POST['prenom']; $email = $_POST['email']; $point = strpos($email,"."); $aroba = strpos($email,"@"); $service = $_POST['service']; $objet = $_POST['objet']; $contenu = $_POST['contenu']; $captcha = $_POST['captcha']; $nom_du_fichier = $_POST['nom_du_fichier']; $mail = $email; // Déclaration de l'adresse de destination. if (!preg_match("#^[a-z0-9._-]+@().[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui présentent des bogues. { $passage_ligne = "\r\n"; } else { $passage_ligne = "\n"; } //=====Déclaration des messages au format texte et au format HTML. $message_html = "<html><head> </head> <body bgcolor=#FFFFFF> <p>Message envoyer</p> </body></html>"; //========== //=====Lecture et mise en forme de la pièce jointe. $fichier = fopen("$nom_du_fichier", "r"); $attachement = fread($fichier, filesize("$nom_du_fichier")); $attachement = chunk_split(base64_encode($attachement)); fclose($fichier); //========== //=====Création de la boundary. $boundary = "-----=".md5(rand()); //========== //=====Définition du sujet. $sujet = "$objet"; //========= //=====Création du header de l'e-mail. $header = "From: \"Mr/Mme $nom\" <$email>".$passage_ligne; $header.= "Content-Type: multipart/mixed;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne; //========== //=====Création du message. $message = $passage_ligne."--".$boundary.$passage_ligne; $message.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary_alt\"".$passage_ligne; $message.= $passage_ligne."--".$boundary_alt.$passage_ligne; //=====Ajout du message au format texte. $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message.= $passage_ligne.$message_txt.$passage_ligne; //========== $message.= $passage_ligne."--".$boundary_alt.$passage_ligne; //=====Ajout du message au format HTML. $message.= "Content-Type: text/html; charset=\"ISO-8859-1\"".$passage_ligne; $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne; $message.= $passage_ligne.$message_html.$passage_ligne; //========== $message.= $passage_ligne."--".$boundary.$passage_ligne; //=====Ajout de la pièce jointe. $message.= "Content-Type: application/pdf; name=\"./$nom_du_fichier\"".$passage_ligne; $message.= "Content-Transfer-Encoding: base64".$passage_ligne; $message.= "Content-Disposition: attachment; filename=\"$nom_du_fichier\"".$passage_ligne; $message.= $passage_ligne.$attachement.$passage_ligne.$passage_ligne; $message.= $passage_ligne."--".$boundary."--".$passage_ligne; //========== //=====Envoi de l'e-mail. mail($mail,$sujet,$message,$header); //========== ?>
A voir également:
- Envoi mail + pièce jointe
- Pièce d'identité - Accueil - Services publics
- Programmer envoi mail gmail - Guide
- 1 pièce jointe - Guide
- Envoi mail cci - Guide
- Publipostage mail - Accueil - Word
1 réponse
Bonjour,
dans Zend Framework, il y a ça tout fait:
Tout est là:
http://framework.zend.com/manual/fr/zend.mail.attachments.html
A+
dans Zend Framework, il y a ça tout fait:
$mail = new Zend_Mail(); // construction du message $mail->createAttachment($uneChaineBinaire); $mail->createAttachment($monImage, 'image/gif', Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_BASE64);
Tout est là:
http://framework.zend.com/manual/fr/zend.mail.attachments.html
A+