Így szebb lesz a formátum, és képet is csatolunk, amely megjelenik akkor is, ha a fogadó Internet kapcsolata éppen inaktív.
<?php
$elvalaszto="\n";
$subject="Értesítés";//Tárgy
$from="akarmi@akarmi.com";//Honnan jön az email
$sto="";
//Ide a csatolni kívánt fájlokat, melyek lehetnek jpg, doc kiterjesztésüek.
$attachments[]["file"]="kep1.jpg";//Itt megadjuk a fájl elérési útvonalát
$attachments[]["file"]="kep2.jpg";//Itt megadjuk ha kell több, a másik fájl elérési útvonalát
reset($attachments);
while(list($k, $v)=each($attachments))
{
$attachments[$k]["name"]=basename($v["file"]);
}
reset($attachments);
while(list($k, $v)=each($attachments))
{
$attachments[$k]["size"]=filesize($v["file"]);
}
reset($attachments);
while(list($k, $v)=each($attachments))
{
switch(substr(strrchr($v["file"], "."),1))
{
case"jpg":
$attachments[$k]["type"]="image/jpg; name=\""
.$attachments[$k]["name"]. "\"";
break;
case"doc":
$attachments[$k]["type"]="text/plain; charset=iso-8859-1";
break;
default:
$attachments[$k]["type"]="application/octet-stream";
}
$attachments[$k]["encoding"]="base64";
}
$message_prefix="";
$message_suffix="";
if(isset($attachments) and is_array($attachments) and count($attachments)>0)
{
list($x, $y)=explode(" ", microtime());
$boundary=$y.substr($x, 2);
$add[]="MIME-version: 1.0";
$add[]='Content-Type: multipart/related; boundary=--"'. $boundary.'"';
$message_prefix .="--".$boundary .$elvalaszto
."Content-Type: text/html; charset=iso-8859-2--".$elvalaszto.$elvalaszto;
reset($attachments);
while(list($k, $v)=each($attachments))
{
$message_suffix .="--".$boundary .$elvalaszto
."Content-Type: ". $v["type"].$elvalaszto
."Content-Transfer-Encoding: base64".$elvalaszto
."Content-ID:".$v["name"].$elvalaszto
. $boundary."--"
.$elvalaszto.$elvalaszto;
$f=fopen($v["file"], "rb");
$x=fread($f, $v["size"]);
fclose($f);
$message_suffix .=chunk_split(base64_encode($x));
}
$message_suffix.="--".$boundary.$elvalaszto;
}
if(isset($from) and strlen($from))
{$add[]="From: ". $from;
}
$fej="";
if(isset($add) and is_array($add))
{
$fej=implode($elvalaszto, $add) .$elvalaszto;
}
$fej.=$message_suffix;
$message=$message_prefix;
$message.="<HTML><HEAD><title>Web site</title>";
$message.="<META http-equiv=Content-Type content='text/html; charset=iso-8859-2'>
<META content='MSHTML 6.00.2600.0' name=GENERATOR>";
//Css-el formázhatod!
$message.="<STYLE type=text/css>
body {
font-family: Arial, Verdana, Tahoma; font-size: 13px; text-align: justify;
margin-left: 20px;
padding: 10px 0 10px 0;
.center{
vertical-align:top;
}
}
</STYLE>
</HEAD><BODY>";
$message.="<div align='center'><table><tr><td>Ez a próba</td></tr>";
$message.="<tr><td><img src='cid:kép_neve.jpg'></td></tr>";
$message.="<tr><td><img src='cid:másik_kép_neve.jpg'></td></tr></table></div>";
$message.="</body></html>";
$message.=$elvalaszto;
if(@
mail("email@email.com", $subject,$message,$fej))
{
print("<br/><font color=\"green\">Mail sent to".
htmlentities($to).".</font>");
}
else{
print("<br/><font color=\"red\">Mail sent to".
htmlentities($to).".</font>");
}
?>
Tehát fent megadjuk a megjeleníteni kívánt képek elérési útvonalát, és azok neveivel hivatkozunk rájuk, a megjelenítés pedig a cid: jelöléssel történik.
<img src='cid: kép_neve.jpg'>
Amennyiben nem hivatkozunk a képre a html oldalon, de megadtuk a kép nevét és elérését, akkor az emailben mint csatolt állomány fog megjelenni.