Blog

07
Dec

Kirim email html gambar dengan PHP

Kirim email html gambar dengan PHP

Kirim email html gambar dengan PHP

Berikut ini adalah cara untuk mengirimkan email dengan gambar yang embed / menyatu dengan emailnya. Hal ini dapat dengan mudah kita lakukan apabila kita menggunakan program mail client, karena pada saat kita akan mengattach suatu image, kita akan diberikan opsi / pilihan untuk menjadikan image sebagai attachment atau embed.
Dengan PHP hal ini dapat kita lakukan. Aplikasinya nantinya adalah mengirimkan brosur kepada sebuah mailing list. Berikut adalah kodenya:

<?php
$headers = “From: info@balimedia.web.id\n”;
$headers .= “Reply-to:  info@balimedia.web.id\n”;
$headers .= “X-Mailer: Our Php\n”;

$boundary = “==String_Boundary_x” .md5(time()). “x”;
$boundary2 = “==String_Boundary2_y” .md5(time()). “y”;

$headers .= “MIME-Version: 1.0\n”;
$headers .= “Content-Type: multipart/related;\n”;
$headers .= ” type=\”multipart/alternative\”;\n”;
$headers .= ” boundary=\”$boundary\”;\n\n”;

$subject .= “Mengirim gambar yang embed”;

$message .= “–$boundary\n”;
$message .= “Content-Type: multipart/alternative;\n”;
$message .= ” boundary=\”$boundary2\”;\n\n”;
$message .= “–$boundary2\n”;
$message .= “Content-Type: text/plain; charset=\”iso-8859-1\”\n”;
$message .= “Content-Transfer-Encoding: 7bit\n\n”;
$message .= “–$boundary2\n”;
$message .= “Content-Type: text/html; charset=\”iso-8859-1\”\n”;
$message .= “Content-Transfer-Encoding: 7bit\n\n”;

$message .= “<html><head><title></title></head><body bgcolor=\”000000\”>
<table align=\”center\” width=\”530\” height=\”758\” background=\”cid:image1\” cellpadding=\”0\” cellspacing=\”0\” border=\”0\”>
<tr>
<td align=\”center\” height=\”80\” valign=\”bottom\”>
<p></p></td>
</tr>
</table>
</font>
</body>
</html>\n”;

$message .= “–$boundary2–\n”;
$message .= “–$boundary\n”;
$message .= “Content-ID: <image1>\n”;
$message .= “Content-Type: image/jpeg\n”;
$message .= “Content-Transfer-Encoding: base64\n\n”;

$attached = “brosur.jpg”;
$file = fopen($attached,’rb’);
$data = fread($file,filesize($attached));
fclose($file);

$data = chunk_split(base64_encode($data));
$message .= “$data\n\n”;
$message .= “–$boundary–\n”;

mail(“ info@balimedia.web.id“,$subject,$message,$headers);

?>