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

Kode css yang berguna

Bismillaahirrohmaanirrohiim... Berikut ini kumpulan css yang berguna, untuk mengingat saja. Input atau button delay saat…

1 day ago

Grouping warna pada tabel dengan PHP

Bismillaahirrohmaanirrohiim... Berikut ini cara grouping warna baris pada tabel dengan PHP, dimana jika ada kode…

1 week ago

CMS Website Desain Interior – PHP MySQL

CMS (Content Management System) Web untuk Desain Interior adalah solusi lengkap untuk mempresentasikan bisnis desain…

3 weeks ago

Source code Template website sekolah dengan react js

Bismillaahirrohmaanirrohiim... Berikut ini source code yang dapat dimodifikasi untuk membuat front end website sekolah dengan…

1 month ago

Subdomain pada cyberpanel tidak dapat diakses

Bismillaahirrohmaanirrohiim... Jika domain dan sub domainnya berada dalam satu vps cyberpanel, maka seringkali jadi tidak…

2 months ago

10 Aplikasi Kasir Terbaik di Indonesia (2025)

Bismillaahirrohmaanirrohiim... Dalam era digital saat ini, penggunaan aplikasi kasir (Point of Sale/POS) menjadi solusi penting…

2 months ago