Categories: PHP

Cara mengakses gmail dengan php imap

Bismillaahirrohmaanirrohiim…

Saat ini teknologi sudah berkembang cepat, ada kalanya kita ingin diberikan informasi secara cepat jika ada email masuk dengan judul atau isi tertentu.

Nah, disini saya hanya ingin berbagi tutorial tentang bagaimana mengakses inbox email di gmail menggunakan PHP.

Setelah bisa diambil menggunakan PHP, nantinya email tersebut dapat diolah sesuai kebutuhan.

Langsung saja ikuti langkah-langkah dibawah ini:

  • Login di gmail
  • Buka pengaturan, klik icon gear diatas, klik button “Lihat semua setelan”
  • Buka tab “Penerusan dan POP/IMAP”
  • Aktifkan IMAP
  • Simpan Perubahan

Buat sandi/pin aplikasi di gmail, dengan cara:

  • Klik icon profil di atas
  • Klik “kelola akun google anda”
  • Pilih Menu “Keamanan”
  • Klik “Verifikasi 2 langkah”
  • Scroll ke bawah, temukan bagian “Sandi Aplikasi”
  • Buat sandi aplikasi, copy sandi tersebut ketempat yang aman.

Buat kode PHP dengan menggunakan fungsi IMAP untuk mengakses akun gmailnya:

<?php
$hostname = '{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX';
$username = 'yourakun[at]xxxxxx.com';
$password = 'yoursandiaplikasi';//sandi aplikasi bukan paswd email ya

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


if (!$inbox ) {
 exit('Ada kesalahan');
}

// $emails = imap_search($inbox,'ALL');//semua email
$emails = imap_search($inbox,'UNSEEN');//hanya yang belum dibaca

if ($emails) {
    //urutkan yang terbaru ada diatas
 rsort($emails);

 $no = 0;
 foreach($emails as $email_number) {
        //mengambil info header email (from, to, subject, date, dll)
  $overview = imap_fetch_overview($inbox,$email_number,0);

        //mengambil isi email
        //saat perintah ini dipanggil, maka otomatis email yang ada digmail statusnya akan menjadi "terbaca"
  $message = imap_fetchbody($inbox,$email_number,1);

        //ubah object menjadi array
  $overview_arr = json_decode(json_encode ( $overview ) , true);

        //ekstract isi dari array diatas
  $subject = isset($overview_arr[0]['subject']) ? $overview_arr[0]['subject'] : '';
  $udate = isset($overview_arr[0]['udate']) ? $overview_arr[0]['udate'] : '';
        //dst
 }

}

//tutup imap
imap_close($inbox);

Untuk menjalankan imap, jangan lupa diaktifkan modul php_imap di dalam file php.ini nya.

Selesai, semoga bermanfaat

Bagikan
rasupe

Recent Posts

Cara ngoding di laptop lokal, otomatis terupdate ke server.

Bismillaahirrohmaanirrohiim... Berikut ini adalah cara untuk memudahkan programmer dalam singkronisasi kode program dari laptop ke…

1 month ago

Setting vhost nginx untuk domain saas

Bismillaahirrohmaanirrohiim... jika kita ingin mengarahkan semua domain apapun keserver utama, dengan menangkap hostname agar menjadi…

1 month ago

set user dan email saat push ke github

Bismillaahirrohmaanirrohiim... Untuk push data ke github, kadangkala kita lupa untuk set user dan email, berikut…

2 months ago

Cara install mitm di windows

Bismillaahirrohmaanirrohiim... mitm adalah tools yang bisa menggantikan fiddler, untuk memantau trafik internet, dari website, aplikasi,…

2 months ago

masalah cors pada nginx method options

Bismillaahirrohmaanirrohiim... berikut ini tambahan kode pada vhost nginx untuk memperbolehkan cors method options {{settings}} location…

2 months ago

cara reset google authenticator pada cyberpanel

Bismillaahirrohmaanirrohiim... Jika kita membuka login halaman cyberpanel dan tahu tahu muncul inputan kode authenticator, berikut…

2 months ago