Le retour
Posté : jeu. déc. 29, 2005 6:36 pm
Je crois que je suis au bord de la crise de nerfs avec mes anvois de pièces jointes
J'ai choisi de les envoyer au format html, je reçois bien le mail, mais deux terribles croix rouges à la placedes photos et je ne comprend pas pourquoi.
Peux tu survoler mon code pour voir ce qui ne va pas.
philippe:
<?php /* Date de création: 26/11/05 */
include_once("globals.inc.php");
include_once("fonctions.inc.php");
// On commence par récupérer les champs
if(isset($_POST['genre'])) $genre=$_POST['genre'];
else $genre="";
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['adresse1'])) $adresse1=$_POST['adresse1'];
else $adresse1="";
if(isset($_POST['adresse2'])) $adresse2=$_POST['adresse2'];
else $adresse2="";
if(isset($_POST['codepostal'])) $codepostal=$_POST['codepostal'];
else $codepostal="";
if(isset($_POST['selectville1'])) $selectville1=$_POST['selectville1'];
else $selectville1="";
if(isset($_POST['telephone'])) $telephone=$_POST['telephone'];
else $telephone="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST['vente_location'])) $vente_location=$_POST['vente_location'];
else $vente_location="";
if(isset($_POST['naturedubien'])) $naturedubien=$_POST['naturedubien'];
else $naturedubien="";
if(isset($_POST['selectville2'])) $selectville2=$_POST['selectville2'];
else $selectville2="";
if(isset($_POST['nombre_de_pieces'])) $nombre_de_pieces=$_POST['nombre_de_pieces'];
else $nombre_de_pieces="";
if(isset($_POST['surface'])) $surface=$_POST['surface'];
else $surface="";
if(isset($_POST['surface2'])) $surface2=$_POST['surface2'];
else $surface2="";
if(isset($_POST['msg'])) $msg=$_POST['msg'];
else $msg="";
if(isset($_FILES['pho1'])) $pho1 =$_FILES['pho1']['tmp_name'];
else $pho1="";
$photo1 = ' ./upload/skeud.jpg';
move_uploaded_file($pho1,$photo1);
if(isset($_FILES['pho2'])) $pho1 =$_FILES['pho2']['tmp_name'];
else $pho2="";
$photo2 = ' ./upload/skeud2.jpg';
move_uploaded_file($pho2,$photo2);
if(isset($_FILES['pho3'])) $pho1 =$_FILES['pho3']['tmp_name'];
else $pho3="";
//----------------------------------
// Construction de l'entête
//----------------------------------
$delimiteur = "-----=".md5(uniqid(rand()));
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-Type: multipart/related; boundary=\"$delimiteur\"\r\n";
$entete .= "\r\n";
//--------------------------------------------------
// Construction du message proprement dit
//--------------------------------------------------
$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
//---------------------------------
// 1ère partie du message
// Le code HTML
//---------------------------------
$msg .= "--$delimiteur\r\n";
$msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$msg .= "<html><body><h1>Email HTML avec 2 images</h1>";
$msg .= "Image 1:<img src=\"cid:./upload/skeud.jpg\"><br />";
$msg .= "Image 2:<img src=\"cid:./upload/skeud2.jpg\"><br /></body></html>\r\n";
$msg .= "\r\n";
//---------------------------------
// 2nde partie du message
// Le 1er fichier (inline)
//---------------------------------
$fichier = "$photo1";
$chemin = "./upload/";
$fp = fopen($fichier, "rb");
$fichierattache = fread($fp, filesize($fichier));
fclose($fp);
$fichierattache = chunk_split(base64_encode($fichierattache));
$msg .= "--$delimiteur\r\n";
$msg .= "Content-Type: application/octet-stream; name=\"$fichier\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-ID: <./upload/skeud.jpg>\r\n";
$msg .= "\r\n";
$msg .= $fichierattache . "\r\n";
$msg .= "\r\n\r\n";
//---------------------------------
// 3ème partie du message
// Le 2ème fichier (attachment)
//---------------------------------
$fichier ="$photo2";
$fp = fopen($fichier, "rb");
$fichierattache = fread($fp, filesize($fichier));
fclose($fp);
$fichierattache = chunk_split(base64_encode($fichierattache));
$msg .= "--$delimiteur\r\n";
$msg .= "Content-Type: application/octet-stream; name=\"$fichier\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-ID: <./upload/skeud2.jpg>\r\n";
$msg .= "\r\n";
$msg .= $fichierattache . "\r\n";
$msg .= "\r\n\r\n";
$msg .= "--$delimiteur\r\n";
$destinataire = "property@wanadoo.fr";
$expediteur = "property@wanadoo.fr";
$reponse = $expediteur;
echo "Ce script envoie un mail au format HTML avec 2 images à $destinataire";
mail($destinataire,
"Email HTML avec 2 images",
$msg,
"Reply-to: $reponse\r\nFrom: $expediteur\r\n".$entete);
?>
J'ai choisi de les envoyer au format html, je reçois bien le mail, mais deux terribles croix rouges à la placedes photos et je ne comprend pas pourquoi.

Peux tu survoler mon code pour voir ce qui ne va pas.
philippe:
<?php /* Date de création: 26/11/05 */
include_once("globals.inc.php");
include_once("fonctions.inc.php");
// On commence par récupérer les champs
if(isset($_POST['genre'])) $genre=$_POST['genre'];
else $genre="";
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";
if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";
if(isset($_POST['adresse1'])) $adresse1=$_POST['adresse1'];
else $adresse1="";
if(isset($_POST['adresse2'])) $adresse2=$_POST['adresse2'];
else $adresse2="";
if(isset($_POST['codepostal'])) $codepostal=$_POST['codepostal'];
else $codepostal="";
if(isset($_POST['selectville1'])) $selectville1=$_POST['selectville1'];
else $selectville1="";
if(isset($_POST['telephone'])) $telephone=$_POST['telephone'];
else $telephone="";
if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";
if(isset($_POST['vente_location'])) $vente_location=$_POST['vente_location'];
else $vente_location="";
if(isset($_POST['naturedubien'])) $naturedubien=$_POST['naturedubien'];
else $naturedubien="";
if(isset($_POST['selectville2'])) $selectville2=$_POST['selectville2'];
else $selectville2="";
if(isset($_POST['nombre_de_pieces'])) $nombre_de_pieces=$_POST['nombre_de_pieces'];
else $nombre_de_pieces="";
if(isset($_POST['surface'])) $surface=$_POST['surface'];
else $surface="";
if(isset($_POST['surface2'])) $surface2=$_POST['surface2'];
else $surface2="";
if(isset($_POST['msg'])) $msg=$_POST['msg'];
else $msg="";
if(isset($_FILES['pho1'])) $pho1 =$_FILES['pho1']['tmp_name'];
else $pho1="";
$photo1 = ' ./upload/skeud.jpg';
move_uploaded_file($pho1,$photo1);
if(isset($_FILES['pho2'])) $pho1 =$_FILES['pho2']['tmp_name'];
else $pho2="";
$photo2 = ' ./upload/skeud2.jpg';
move_uploaded_file($pho2,$photo2);
if(isset($_FILES['pho3'])) $pho1 =$_FILES['pho3']['tmp_name'];
else $pho3="";
//----------------------------------
// Construction de l'entête
//----------------------------------
$delimiteur = "-----=".md5(uniqid(rand()));
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-Type: multipart/related; boundary=\"$delimiteur\"\r\n";
$entete .= "\r\n";
//--------------------------------------------------
// Construction du message proprement dit
//--------------------------------------------------
$msg = "Je vous informe que ceci est un message au format MIME 1.0 multipart/mixed.\r\n";
//---------------------------------
// 1ère partie du message
// Le code HTML
//---------------------------------
$msg .= "--$delimiteur\r\n";
$msg .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
$msg .= "Content-Transfer-Encoding:8bit\r\n";
$msg .= "\r\n";
$msg .= "<html><body><h1>Email HTML avec 2 images</h1>";
$msg .= "Image 1:<img src=\"cid:./upload/skeud.jpg\"><br />";
$msg .= "Image 2:<img src=\"cid:./upload/skeud2.jpg\"><br /></body></html>\r\n";
$msg .= "\r\n";
//---------------------------------
// 2nde partie du message
// Le 1er fichier (inline)
//---------------------------------
$fichier = "$photo1";
$chemin = "./upload/";
$fp = fopen($fichier, "rb");
$fichierattache = fread($fp, filesize($fichier));
fclose($fp);
$fichierattache = chunk_split(base64_encode($fichierattache));
$msg .= "--$delimiteur\r\n";
$msg .= "Content-Type: application/octet-stream; name=\"$fichier\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-ID: <./upload/skeud.jpg>\r\n";
$msg .= "\r\n";
$msg .= $fichierattache . "\r\n";
$msg .= "\r\n\r\n";
//---------------------------------
// 3ème partie du message
// Le 2ème fichier (attachment)
//---------------------------------
$fichier ="$photo2";
$fp = fopen($fichier, "rb");
$fichierattache = fread($fp, filesize($fichier));
fclose($fp);
$fichierattache = chunk_split(base64_encode($fichierattache));
$msg .= "--$delimiteur\r\n";
$msg .= "Content-Type: application/octet-stream; name=\"$fichier\"\r\n";
$msg .= "Content-Transfer-Encoding: base64\r\n";
$msg .= "Content-ID: <./upload/skeud2.jpg>\r\n";
$msg .= "\r\n";
$msg .= $fichierattache . "\r\n";
$msg .= "\r\n\r\n";
$msg .= "--$delimiteur\r\n";
$destinataire = "property@wanadoo.fr";
$expediteur = "property@wanadoo.fr";
$reponse = $expediteur;
echo "Ce script envoie un mail au format HTML avec 2 images à $destinataire";
mail($destinataire,
"Email HTML avec 2 images",
$msg,
"Reply-to: $reponse\r\nFrom: $expediteur\r\n".$entete);
?>