rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Probleme de fichier joint en mail php

  pisse, le dimanche 10 février 2008 à 16:04:17
Bonjour,
Je viens auprés de vous solliciter une aide. En effet j'ai un probléme pour l'envoie de mail multi-destinataire car sur hotmail ça marche pas et gmail aussi alrs que sur yahoo ça marche. Si quelqu'un a une idéee voici le code php
<?php
/***********************************************************/
//----------------------------------
// Construction de l'entête
//----------------------------------
// On choisi généralement de construire une frontière générée aleatoirement
// comme suit. (REM: je n'en connais pas la raison profonde)
$boundary = "-----=".md5(uniqid(rand()));
// Ici, on construit un entête contenant les informations
// minimales requises.
// Version du format MIME utilisé
$header = "MIME-Version: 1.0\r\n";
// Type de contenu. Ici plusieurs parties de type different "multipart/mixed"
// Avec un frontière définie par $boundary
$header .= "Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n";
$header .= "\r\n";

//--------------------------------------------------
// Construction du message proprement dit
//--------------------------------------------------

// Pour le cas, où le logiciel de mail du destinataire
// n'est pas capable de lire le format MIME de cette version
// Il est de bon ton de l'en informer
// REM: Ce message n'apparaît pas pour les logiciels sachant lire ce format
$msg = "Je vous informe que ceci est un message au format MIME 1.0
multipart/mixed.\r\n";

//---------------------------------
// 1ère partie du message
// Le texte
//---------------------------------
// Chaque partie du message est séparé par une frontière
$msg .= "--$boundary\r\n";

// Et pour chaque partie on en indique le type
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\r\n";
// Et comment il sera codé
$msg .= "Content-Transfer-Encoding:8bit\r\n";
// Il est indispensable d'introduire une ligne vide entre l'entête et le texte
$msg .= "\r\n";
// Enfin, on peut écrire le texte de la 1ère partie
$msg .= $contenu ;
$msg .= "\r\n";

//---------------------------------
// 2nde partie du message
// Le fichier
//---------------------------------
// Tout d'abord lire le contenu du fichier
if ( ! empty($joint)) {
$namefile = $_FILES['joint']['name'];
$filetmp = $_FILES['joint']['tmp_name'];
$filetype = $_FILES['joint']['type'];
$fp = fopen($filetmp, "rb" );
$attachment = fread($fp, filesize($filetmp));
fclose($fp);

// puis convertir le contenu du fichier en une chaîne de caractère
// certe totalement illisible mais sans caractères exotiques
// et avec des retours à la ligne tout les 76 caractères
// pour être conforme au format RFC 2045
$attachment = chunk_split(base64_encode($attachment));

// Ne pas oublier que chaque partie du message est séparé par une frontière
$msg .= "--$boundary\r\n";
// Et pour chaque partie on en indique le type
$msg .= "Content-Type: $filetype; name=\"$filetmp\"\r\n";
// Et comment il sera codé
$msg .= "Content-Transfer-Encoding: base64\r\n";
// Petit plus pour les fichiers joints
// Il est possible de demander à ce que le fichier
// soit si possible affiché dans le corps du mail
$msg .= "Content-Disposition: inline; filename=\"$namefile\"\r\n";
// Il est indispensable d'introduire une ligne vide entre l'entête et le texte
$msg .= "\r\n";
// C'est ici que l'on insère le code du fichier lu
$msg .= $attachment . "\r\n";
$msg .= "\r\n\r\n";

// voilà, on indique la fin par une nouvelle frontière
$msg .= "--$boundary--\r\n";
$destinataire = "dahiraouest <postmaster@toubaouest.fr>";
$expediteur = "dahiraouest <postmaster@toubaouest.fr>";
$reponse = $expediteur;
$Fnm = "email.txt";
$inF = fopen($Fnm,"r");
while (!feof($inF)) {
$destinataire .= fgets($inF, 4096) . ",";
}
/***********************************************************/
if(mail($destinataire, $objet, $msg,"Reply-to: $reponse\r\nFrom: $expediteur\r\n".$header))
{
echo' Votre message a été envoyé avec succés ' ;
}
else {
echo' Votre message n\'a pas été envoyé ' ;
}
}
else{
/*$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: dahiraouest <postmaster@toubaouest.fr>' . "\r\n";
$headers .= 'From: dahiraouest <postmaster@toubaouest.fr>' . "\r\n";*/
$destinataire = "dahiraouest <postmaster@toubaouest.fr>";
$expediteur = "dahiraouest <postmaster@toubaouest.fr>";
$reponse = $expediteur;
$Fnm = "email.txt";
$inF = fopen($Fnm,"r");
while (!feof($inF)) {
$destinataire .= fgets($inF, 4096) . ",";
}
if(mail($destinataire, $objet, $contenu, "Reply-to: $reponse\r\nFrom: $expediteur\r\n"
.$header))
{
echo' Votre message a été envoyé avec succés ' ;
$Fnm = "email.txt";
$inF = fopen($Fnm,"r");
while (!feof($inF)) {
mail(fgets($inF, 4096), $objet, $contenu,$header) ;
}
}
else {
echo' Votre message n\'a pas été envoyé ' ;
}
}
?>
Configuration: Windows XP
Firefox 2.0.0.12
Répondre à pisse  Signaler ce message aux modérateurs
Recepetion de fichiers joints (Résolu)Bonjour à tous j'ai r' çu récemment plusieurs mail avec des fichiers joints mais je n'arrive point al'z'ourvrir; pourriez vous m'indiquer la façon d'faire il s'agit de fichiers au format .jpg , P.D.F et .gif par... www.commentcamarche.net/forum/affich-1381261-recepetion-de-fichiers-joints
Envoi de fichier joint a un mail (Résolu)Bonjour, J'ai ma messagerie chez Yahoo, J'utilise jusqu'a maintenant Windows 2000 et n'ai aucun probleme Je viens de changer de PC -> Windows XP. Je n'arrive plus a joindre de fichier aux mails que j'envoie, meme la plus... www.commentcamarche.net/forum/affich-2073356-envoi-de-fichier-joint-a-un-mail
Ercrire dans un fichier xml avec php (Résolu)Bonjour, je veux uploader des image et ecrire leur nom dan un fichier XML avec php, comment je peut faire? merci lol www.commentcamarche.net/forum/affich-4151161-ercrire-dans-un-fichier-xml-avec-php
[PHP] Upload de fichiersLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La... www.commentcamarche.net/faq/sujet-889-php-upload-de-fichiers
Parser un fichier binaire en PHPSupposons que vous ayez enregistré des données binaires dans un fichier, c'est-à-dire un enregistrement brut qui n'est pas traduit en texte. C'est une chose que l'on fait couramment avec certains langages de bas niveau comme le C ou le... www.commentcamarche.net/faq/sujet-13092-parser-un-fichier-binaire-en-php
[Langages] Envoyer un mail avec pièce jointeLes mails , tout comme les pages web, sont livrés avec des en-têtes (headers en anglais). Ces en-têtes servent à donner quelques détails necessaires comme l'adresse du destinataire, celle de l'envoyeur, la date de l'envoi, le sujet du mail... www.commentcamarche.net/faq/sujet-2761-langages-envoyer-un-mail-avec-piece-jointe
Fichier joint body part (Résolu)Bonjour, A chaque fois que je reçois un fichier joint "body part" je ne peux pas l'ouvrir, ni l'enregistrer. Merci de m'aider www.commentcamarche.net/forum/affich-3911286-fichier-joint-body-part
Impossible d'ouvrir un fichier html avec php (Résolu)salut à tous, je suis en formation en ce moment et je voudrai savoir si c'est possible et comment on peut ouvrir un fichier HTML avec PHP sachant que je fais un site intranet dynamique ou que ce fichier s'ouvre sur la page en cours. Bonne... www.commentcamarche.net/forum/affich-2252154-impossible-d-ouvrir-un-fichier-html-avec-php
Impossible de télécharger fichier joint (Résolu)lorsque je clique sur télécharger le fichier joint, je recois un message d'erreur: "la connexion avec le serveur a été réinitialisé" que cela signifie t-il? et que doit je faire merci d'avence www.commentcamarche.net/forum/affich-2072237-impossible-de-telecharger-fichier-joint
Télécharger Copernic Desktop SearchCopernic Desktop Search est un moteur de recherche pour votre ordinateur. Il permet de trouver instantanément et facilement des fichiers, des messages ou des fichiers joints sur votre disque dur. Les résultats sont répartis dans diverses catégories.... www.commentcamarche.net/telecharger/telecharger-34055613-copernic-desktop-search
Goto Software CheckListeGoto Software CheckListe,,''CheckListe'' Logiciel qui permet d'enrichir, de dédoublonner, de fusionner, de vérifier, de rectifier, d'analyser vos fichiers e-mailing, fichiers logs, etc, CD-ROM en français pour Windows www.commentcamarche.net/guide-achat/goto-software-checkliste-469204201-fiche-technique
PHP - Les fichiers Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier est repérée par une variable, indiquant... www.commentcamarche.net/php/phpfich.php3
Toutes les réponses pour « probleme de fichier joint en mail php »