Metode & Algoritma | List Tutorials | Source Code | About | Sitemap
Konsultan Tesis
Bimbingan dan Konsultasi Tesis Informatika bersama team Project Graduate Indonesia. Konsultasi hanya untuk yang sudah me-Like FB kami (Silahkan LIKE tombol ini jika belum).
. Scroll kebawah untuk memasukan kode AntiSpam Protection. Hasil konsultasi akan kami kirimkan ke email Anda.

Mengambil Email Attachment dari GMail dengan PHP IMAP (Pemrograman Web PHP)




.


Metode dan Algoritma | Mengambil Email Attachment dari GMail dengan PHP IMAP (Pemrograman Web PHP) . Anda bisa melakukan konsultasi tentang Mengambil Email Attachment dari GMail dengan PHP IMAP (Pemrograman Web PHP) melalui form di samping kanan !!!

Setelah bisa menggunakan PHP untuk mengirim Email dengan SMTP GMail dan Menerima Email dengan IMAP dari GMail ditambah Mengirimkan Email menggunakan Attachment dengan Fungsi PHP Mail() serta Mengirim Email Attachment Menggunakan PHP tetapi Lewat IMAP Gmail, kali ini kita coba untuk mengambil Email dengan Attachment yang masuk ke Inbox GMail menggunakan PHP IMAP.

Seperti sebelumnya, kode program ini bisa berjalan apabila bisa mengakses port SSL IMAP, dimana itu kemungkinan besar bisa dilakukan apabila anda menggunakan server localhost dengan koneksi internet menggunakan HP atau modem pribadi. Jika kita gunakan jaringan Publik seperti Warnet, Kantor bisa tidak berjalan.

Berikut kode programnya :

<?php
    // http://cariprogram.blogspot.com
    // nuramijaya@gmail.com
    // sumber : http://www.codediesel.com/php/downloading-gmail-attachments-using-php/

/**
 * Downloads attachments dari Gmail dan menyimpan dalam bentuk file.
 * Menggunakan PHP IMAP extension, jadi pastikan php_imap dienable pada php.ini, yaitu :
 * extension=php_imap.dll
 */

set_time_limit(3000);

/* koneksi ke gmail */


$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'nuramijaya@gmail.com'; # e.g somebody@gmail.com
$password = 'xxxx';


/* koneksi */
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());


/* mengambil semua email dengan 'ALL'
 * jika ingin yang terbaru (unread) gunakan 'NEW'
 * kemudian bisa dibatasi dengan mengeset variabel
 * $max_emails
 */
$emails = imap_search($inbox,'ALL');

/* untuk membatasi email yang diterima jika menggunakan 'ALL' */
$max_emails = 5;


/* jika email ditemukan */
if($emails) {

    $count = 1;

    /* urutkan sehingga hasilnya email terbaru di atas */
    rsort($emails);

    /* looping semua email yang dibaca... */
    foreach($emails as $email_number)
    {

        /* mengambil informasi spesifik email */
        $overview = imap_fetch_overview($inbox,$email_number,0);

        /* isi pesan */
        $message = imap_fetchbody($inbox,$email_number,2);

        /* struktur email */
        $structure = imap_fetchstructure($inbox, $email_number);

        $attachments = array();

        /* jika ditemukan attachment proses ... */
        if(isset($structure->parts) && count($structure->parts))
        {
            for($i = 0; $i < count($structure->parts); $i++)
            {
                $attachments[$i] = array(
                    'is_attachment' => false,
                    'filename' => '',
                    'name' => '',
                    'attachment' => ''
                );

                if($structure->parts[$i]->ifdparameters)
                {
                    foreach($structure->parts[$i]->dparameters as $object)
                    {
                        if(strtolower($object->attribute) == 'filename')
                        {
                            $attachments[$i]['is_attachment'] = true;
                            $attachments[$i]['filename'] = $object->value;
                        }
                    }
                }

                if($structure->parts[$i]->ifparameters)
                {
                    foreach($structure->parts[$i]->parameters as $object)
                    {
                        if(strtolower($object->attribute) == 'name')
                        {
                            $attachments[$i]['is_attachment'] = true;
                            $attachments[$i]['name'] = $object->value;
                        }
                    }
                }

                if($attachments[$i]['is_attachment'])
                {
                    $attachments[$i]['attachment'] = imap_fetchbody($inbox, $email_number, $i+1);

                    /* 4 = QUOTED-PRINTABLE encoding */
                    if($structure->parts[$i]->encoding == 3)
                    {
                        $attachments[$i]['attachment'] = base64_decode($attachments[$i]['attachment']);
                    }
                    /* 3 = BASE64 encoding */
                    elseif($structure->parts[$i]->encoding == 4)
                    {
                        $attachments[$i]['attachment'] = quoted_printable_decode($attachments[$i]['attachment']);
                    }
                }
            }
        }

        /* looping semua attachment dalam email ini dan simpan ke file */
        foreach($attachments as $attachment)
        {
            if($attachment['is_attachment'] == 1)
            {
                $filename = $attachment['name'];
                if(empty($filename)) $filename = $attachment['filename'];

                if(empty($filename)) $filename = time() . ".dat";

                /* prefix agar nama attachment tidak tabrakan
                 * jika ada yang bernama file sama
                 */
                $fp = fopen($email_number . "-" . $filename, "w+");
                fwrite($fp, $attachment['attachment']);
                fclose($fp);
            }

        }

        if($count++ >= $max_emails) break;
    }

}

/* close the connection */
imap_close($inbox);

echo "Selesai";

?>

Kode program selengkapnya silakan didownload disini

Semoga berguna.


Source Code ActionScript AS3 ASP.NET AJAX C / C++ C# Clipper COBOL ColdFusion DataFlex Delphi Emacs Lisp Fortran FoxPro Java J2ME JavaScript JScript Lingo MATLAB Perl PHP PostScript Python SQL VBScript Visual Basic 6.0 Visual Basic .NET Flash MySQL Oracle Android
Related Post :


Project-G
Judul: Mengambil Email Attachment dari GMail dengan PHP IMAP (Pemrograman Web PHP)
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2

Anda sedang membaca artikel tentang Mengambil Email Attachment dari GMail dengan PHP IMAP (Pemrograman Web PHP), Semoga artikel tentang Mengambil Email Attachment dari GMail dengan PHP IMAP (Pemrograman Web PHP) ini sangat bermanfaat bagi teman-teman semua, jangan lupa untuk mengunjungi lagi melalui link Mengambil Email Attachment dari GMail dengan PHP IMAP (Pemrograman Web PHP).


Posted by: Metode Algoritma Updated at: 22.23

{ 0 komentar... Views All / Send Comment! }

Posting Komentar

Label