Rajouter une pièce jointe lors d'un envoie de mail

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Rajouter une pièce jointe lors d'un envoie de mail

par Ryle » 25 juin 2007, 16:55

Modération :
Liamgebay, les "up" sont interdits sur PHPFrance.


As tu regardé la doc des fonctions : mail(), chunk_split(), base64_encode() ?

Par ailleurs une petite recherche sur le forum à "pièce jointe" retourne quelques 70 résultats.. il y a quand même de grandes chances pour que ton bonheur y soit également non ? :)

Sinon montre nous la partie de ton code qui pose problème, indique les messages d'erreur, le résultat obtenu, le résultat attendu, etc.

par Liamgebay » 25 juin 2007, 16:20

Je réitère ma demande une derniere fois :'(
Merci d'avance

par Liamgebay » 22 juin 2007, 16:18

Humm, j'ai fais une recherche sur les forums et sur google, http://www.phpsources.org/article-07,02 ... PHP-30.htm à marqué mon attention car il parle d'une compression 64bit.. ainsi que ce code qui me semblait plus clair : http://www.phpcs.com/code.aspx?ID=26501

J'ai essayé de rassembler le deuxieme code avec mon scripte, mais ma nulité me rend incapable de faire quelque chose de concret.

J'en appel encore à vous cette fois, pour vous demander de retoucher le scripte, s'il vous plait en rajoutant ce que vous faites à chaque nouvelle partie du script ( ex: //Passage à 64bit ).

Je vous en serais reconnaissant, même si ce n'est pas l'habitude du forum pourriez vous faire une exeption.
merci beaucoup Liamgebay

par Henri » 21 juin 2007, 19:24

concentre toi sur ton application et ce qu'elle a d'original.
pour les emails, il y a des tas de personnes qui ont écrit des centaines de bibliothèques qui permettent d'envoyer des pièces jointes ou des mails en HTML. Pas la peine de perdre du temps là-dessus.

Pour ma part, j'utilise la classe phpmailer.

par Ryle » 21 juin 2007, 17:04

Il te faut lire et encoder (base 64 par ex) le fichier que tu insereras dans le corps du mail en le séparant des autres pièces jointes ou du corps effectif de ton message, avec des chaines spécifiques (boundaries) :)

Pour plus de détail, une petite recherche sur le forum devrait répondre à la plupart de tes questions ce sujet ayant déjà été abordé de nombreuses fois :)

Rajouter une pièce jointe lors d'un envoie de mail

par Liamgebay » 21 juin 2007, 16:41

Bonjour je désire envoyer un fichier joint avec le mail que j'ai préconfigurer sur http://paypaltech.com/content/index.php ... &Itemid=49


Code : Tout sélectionner

<?php // read the post from PayPal system and add 'cmd' $req = 'cmd=_notify-validate'; foreach ($_POST as $key => $value) { $value = urlencode(stripslashes($value)); $req .= "&$key=$value"; } // post back to PayPal system to validate $header .= "POST /cgi-bin/webscr HTTP/1.0\r\n"; $header .= "Host: www.paypal.com:80\r\n"; $header .= "Content-Type: application/x-www-form-urlencoded\r\n"; $header .= "Content-Length: " . strlen($req) . "\r\n\r\n"; $fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30); // assign posted variables to local variables $item_name = $_POST['item_name']; $item_number = $_POST['item_number']; $payment_status = $_POST['payment_status']; $payment_amount = $_POST['mc_gross']; $payment_currency = $_POST['mc_currency']; $txn_id = $_POST['txn_id']; $receiver_email = $_POST['receiver_email']; $payer_email = $_POST['payer_email']; //set email variables $From_email = "From: [email protected]"; $Subject_line = "Réception de votre commande"; $email_msg = "Ci-joint à ce mail le fichier "XXX". Nous vous remercions encore une fois de nous avoir fait confiance, vous ne serez pas déçu! (Enregistrez la pièce jointe et ouvrez la avec "Adobe Acrobat Reader".)"; $email_msg .= "\n\nThe details of your order are as follows:"; $email_msg .= "\n\n" . "Transaction ID: " . $txn_id ; $email_msg .= "\n" . "Payment Date: " . $payment_date; if (!$fp) { // HTTP ERROR } else { fputs ($fp, $header . $req); while (!feof($fp)) { $res = fgets ($fp, 1024); if (strcmp ($res, "VERIFIED") == 0) { // check the payment_status is Completed // check that txn_id has not been previously processed // check that receiver_email is your Primary PayPal email // check that payment_amount/payment_currency are correct // process payment $mail_From = $From_email; $mail_To = $payer_email; $mail_Subject = $Subject_line; $mail_Body = $email_msg; mail($mail_To, $mail_Subject, $mail_Body, $mail_From); } else if (strcmp ($res, "INVALID") == 0) { // log for manual investigation $mail_From = $From_email; $mail_To = $receiver_email; $mail_Subject = "INVALID IPN POST"; $mail_Body = "INVALID IPN POST. The raw POST string is below.\n\n" . $req; mail($mail_To, $mail_Subject, $mail_Body, $mail_From); } } fclose ($fp); } ?>
Pourriez vous m'expliquer comment rajouter une pièce jointe qui enverrais un fichier se trouvant sur le serveur hébergeant mon site web. Merci :)