Pada bahasan email sebelumnya adalah cara bagaimana kita bisa buat script untuk kirim html email, sekarang aku mau bahas tentang bagaimana caranya kirim email beserta Attachment File. Untuk source code PHP nya bisa kalian lihat di bawah ini :
<?php function mail_attachment($filename, $path, $mailto, $cc, $from_mail, $from_name, $replyto, $subject, $message) { $file = $path.$filename; $file_size = filesize($file); $handle = fopen($file, "r"); $content = fread($handle, $file_size); fclose($handle); $content = chunk_split(base64_encode($content)); $uid = md5(uniqid(time())); $name = basename($file); $header = "From: ".$from_name." <".$from_mail.">\r\n"; $header .= "Cc: ".$cc."\r\n"; $header .= "Reply-To: ".$replyto."\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n"; $header .= "This is a multi-part message in MIME format.\r\n"; $header .= "--".$uid."\r\n"; $header .= "Content-type: text/html\r\n"; $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; $header .= $message."\r\n\r\n"; $header .= "--".$uid."\r\n"; $header .= "Content-Type: application/octet-stream; name=\"".$filename."\"\r\n"; $header .= "Content-Transfer-Encoding: base64\r\n"; $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n"; $header .= $content."\r\n\r\n"; $header .= "--".$uid."--"; mail($mailto, $subject, "", $header); } $my_file = "nama_file"; $my_path = "lokasi_file"; $my_name = "nama_pengirim_email"; $my_mail = "email_anda"; $my_replyto = "email_balasan"; $to = "email_tujuan"; $cc = "email_tujuan_lain"; $subject = "subyek_email"; $my_message = "isi_email"; mail_attachment($my_file, $my_path, $to, $cc, $my_mail, $my_name, $my_replyto, $subject, $my_message); ?
Cukup singkat ya scriptnya ? heheh,,, yang membedakan dengan yang kemarin adalah adanya header email untuk stream file $header .= “Content-Type: application/octet-stream; name=\””.$filename.”\”\r\n”; Jika ingin dapat file aslinya langsung, silahkan download disini
itu saya coba kok gak bisa ya?
mungkin masalah di hostingannya mas,,,
soalnya script ini juga aku pake lewat hostingan lokal,,, baru masuk inbox selang beberapa menit, malah pernah aku coba pake hostingan milik salah satu dinas jadi masuk spam.
tapi script ini aku coba di hostingan luar, langsung masuk inbox selang kurang lebih 1 detik
thanks
untuk lokasi filenya itu sama dengan di address bar windows explorer bukan?
bukan,,, tidak persis sama,,, path file yang dipake itu sesuai yang di browser
Kalau misalnya filenya ada di harddisk lokal gimana mas?
bisa tolong dikasih contohnya gak mas.
Thanks
bisa…
gini… misal aku punya project pake Xampp ya … kan projectnya ada di htdocs, nah project ini aku taruh di folder test yang ada di dlm folder htdocs
di dalam folder test ada folder fileUpload, trus di dalm folder ini ada satu file yaitu contoh.pdf
nanti pada script :
$my_path = "fileUpload/contoh.pdf";
Oke, gitu aja… semoga bisa membantu 🙂
wehehe,, makasih infonya …
it works 🙂
thx. udah bisa skrg..
mantab..
gan…klo mo jalanin di localhost bisa ga ????
bisa cuman harus setting php.ini sama harus connect internet
mas untuk $my_path nya itu di arahkan kemana ya?