Php script pengirim email dengan banyak file attachment
langsung aja yah, tahap awal kita buat form untuk mengirim filenya. Kita fokuskan pada form input filenya saja, jika ingin menambahkan input text pada form silakan saja di modifikasi sendiri.
buka text editor anda, lalu buat contoh simple form sebagai berikut
jika ingin menambahkan form input file tinggal buat :
sesuai keperluan saja, sejauh ini saya coba 3 file attachment ok ok aja..
kemudian save terserah mau dikasih nama apa aja, form_email.php juga ok.
lalu selanjutnya kita buat file php untuk mengesekusinya ( syeet dah bahasanya, kaya apa aja
)
ketik script berikut di text editor baru, kemudian save deangan nama file sending.php
<?php
// dimulai degan memasukan email penerima dan subject email
$to = "email_penerima@blabla.com"
$subject="[ Email Attachment]";
// masukan nama dan email pengirim
$from = stripslashes('NAMA PENGIRIM')."<".stripslashes('email_pngrm@blabla.com').">";
// membuat sting acak yang akan di gunakan sebagai bundary
$mime_boundary="==Multipart_Boundary_x".md5(mt_rand())."x";
// sekarang saatnya membuat kepala surat/ message headers
$headers = "From: $from\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: multipart/mixed;\r\n" .
" boundary=\"{$mime_boundary}\"";
// ini untuk membuat isi email berupa text.
// hanya text yang akan ditampilkan
$message="Tulis isi email anda disini";
// format MIME boundary yang digunakan
$message = "This is a multi-part message in 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";
// ini proses upload file yang akan menjadi attachment email
// semua variable $_POST[attachmen] diganti menjadi variable $userfile
foreach($_FILES as $userfile){
$tmp_name = $userfile['tmp_name'];
$type = $userfile['type'];
$name = $userfile['name'];
$size = $userfile['size'];
// jika upload sukses, file akan ada di temporary host
if (file_exists($tmp_name)){
if(is_uploaded_file($tmp_name)){
// membuka file untuk di konversi ke rb (binary read)
$file = fopen($tmp_name,'rb');
//menjadikan suatu variable data
$data = fread($file,filesize($tmp_name));
// menutup file
fclose($file);
// nah ini proses yang paling penting meng'encode' variable data tesebut
$data = chunk_split(base64_encode($data));
}
$message .= "--{$mime_boundary}\n" .
"Content-Type: {$type};\n" .
" name=\"{$name}\"\n" .
"Content-Disposition: attachment;\n" .
" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n";
}
}
// penutup mime boundary
$message.="--{$mime_boundary}--\n";
// esekusi pengiriman pesan
if (@mail($to, $subject, $message, $headers))
echo "Document Telah Berhasil Dikirim.";
else echo "Gagal Mengirim";
?>
saatnya mencoba, upload terlebih dahulu, karna kalau dilocalhost ga jalan.
Semoga berhasil….
May 4th, 2010 21:19
wah topike aku ga mudeng…
May 5th, 2010 12:06
@unksena : hehehe, sama mas aku yo ra mudeng, xixixixii
June 14th, 2010 14:25
blognya keren bozz
hostingnya dmn nie??
cara kasih text selamamt datang dihome gmn caranya bozz
June 30th, 2010 14:38
@bowo : thx yah..
untuk nambahin text di halaman home, coba buka di WPnya :
Appearance >> Editor >> cari file index.php
masukin text dibawah
get_header()