http://arieweb.net
Jasa Pembuatan Website, SEO Tools

Mengirim Email dalam Bentuk HTML

jAlbum - Foto Album Online
Mengirim Email dalam Bentuk HTML

Setelah pada postingan sebelumnya dibahas tentang cara mengirim email dengan PHP, kali ini merupakan postingan lanjutannya, yaitu mengirim email dalam bentuk HTML. Mengirim email dengan cara ini, memungkinkan Anda untuk menyisipkan kode-kode HTML dalam pesan email yang akan Anda kirim nantinya.

Untuk mengirim email dalam bentuk HTML juga tidaklah sulit. Kita hanya perlu memberitahukan email tujuan bahwa email yang kita kirim bentuknya HTML. Bagaimana caranya? tentu saja dengan menambahkan header untuk menunjukkan bahwa email kita email HTML. Oke, langsung saja coba kode php berikut ini:

<?php
mail('admin@websitesaya.com', 'Judul Email',
'<html><body><p>Halo admin, <br>Apa Kabar <br>Anda hari ini?</p></body></html>',
"To: Nama Penerima<admin@domainanda.com>\n" .
"From: Nama Pengirim<webmaster@domain-kirim.com>\n" .
"MIME-Version: 1.0\n" .
"Content-type: text/html; charset=iso-8859-1");

 

Header yang kita gunakan untuk mengirim email HTML adalah:

 

"MIME-Version: 1.0\n" .
"Content-type: text/html; charset=iso-8859-1");

Dengan menambahkan Header seperti itu, maka email tersebut akan dibaca sebagai file HTML dan tentu saja karena email kita HTML kita bisa memasukkan kode HTML apa saja kedalam email.

Namun yang perlu diingat, jika email penerima tidak mensupport HTML, maka email tersebut tidak akan terbuka. Tetapi sebagian besar alamat email saat ini sudah mendukung HTML. Ingat, sebagian besar, berarti masih ada yang belum mendukung HTML.
Email dengan Attachment.

Nah, Bagaimana jika mengirim email disertai dengan attachment? Pertama-tama yang kita lakukan kita memerlukan form untuk mengupload filenya, dan kita kemudian mengambil variabel file yang diupload tersebut. Kemudian file yang di upload itu di encode dalam bentuk file binary ataupun file text menggunakan encoding base64.

Fungsi yang digunakan untuk mengencoding file attachment adalah fungsi PHP base64_encode(). Hasil dari encode tersebut kemudian dimasukkan ke header email, kemudian selanjutnya untuk dikirim.

Untuk mengirim email disertai dengan attachment, diperlukan dua buah file. File yang pertama adalah file yang berfungsi untuk mengupload file attachment, dan yang satunya lagi adalah file yang berfungsi membaca file yang diupload, kemudian meng-encode, dan mengirim email beserta attachmentnya.


Langsung saja kita buat file yang pertama. Buat file dengan nama  form.html dan isilah dengan kode berikut:

<html>
<head>
<title>Kirim email dengan attachment</title>
</head>
<body>
<h1>Kirim Email dengan Attachment</h1>
<form action="sendmail.php" method="POST" enctype="multipart/form-data">
<p>Kepada: <input type="text" name="to" value="" /><br />
Dari: <input type="text" name="from" value="" /><br />
Judul: <input type="text" name="subject" value="" /></p>
<p>Pesan:<br />
<textarea cols="70" rows="20" name="message"></textarea></p>
<p>File: <input type="file" name="fileatt" /></p>
<p><input type="submit" value="Kirim" /></p>
</form>
</body>
</html>


Oke anda pasti sudah paham kode tersebut, karena kode tersebut hanya merupakan kode HTML biasa. Dimana ketika tombol kirim diklik, maka kita memanggil file sendmail.php.

Sekarang buatlah file yang satunya lagi dengan nama sendmail.php dan isilah dengan kode berikut ini:

<html>
<head>
<title> Mengirim Email dengan Attachment </title>
</head>
<body>
<?
$to = $_POST['to'];
$from = $_POST['from'];
$subject = $_POST['subject'];
$message = $_POST['message'];

$fileatt = $_FILES['fileatt']['tmp_name'];
$fileatt_type = $_FILES['fileatt']['type'];
$fileatt_name = $_FILES['fileatt']['name'];

$headers = "From: $from";

if (is_uploaded_file($fileatt)) {
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$message = "Email dengan attachment dan MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n";
$data = chunk_split(base64_encode($data));

$message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
}

$ok = @mail($to, $subject, $message, $headers);
if ($ok) {
echo "<p>Email sudah dikirim</p>";
} else {
echo "<p>Email gagal terkirim!</p>";
}
?>
</body>
</html>


Jika sudah, jalankan form.html, isilah form-form yang tersedia. Jangan lupa untuk mengambil file dari komputer anda, kemudian kirimkan email tersebut.

Mudah kan?. Selamat mencoba...


Tag: PHP  email  email sender  
Share | Get Earn Money from Chitika Premium
Related Article:

1 Comment(s) about this article.
1. vmon | 13/03/2012. 23:56:11
OM maaf ... klo ni arti'a ni apa?
setiap saya kirim email,,slalu muncul code ini,,,
pencerahan'a kk om,,:)


Email sudah dikirim

"; } else { echo "

Email gagal terkirim!
"; } ?>
Jawaban Admin | 13/03/2012. 23:56:11
itu mungkin kesalahan saat meng-copy scriptnya mas..

Leave your comment.
Name*:
Email*:
Website:
Comment*:
: * Type the captcha!
mobile version from your smartphone find at facebook follow on twitter YM RSS FEED
SITEMAP:
home | contact | RSS | portofolio | php | javascript | tutorial | MySql | Ajax | web development | web design | webmaster | graphic design | printing design | website consultant | internet | bisnis internet | earn money | pay pal | alert pay | marketing online | viral marketing | ping service | jasa pembuatan website | jasa seo | auto ping | backlink | ping services

copy right © 2010-2012 www.arieweb.net | Privacy Policy | Discalimer | DMCA | Contact Us
Free counters!