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.
Baca Juga:   Upload multiple file menggunakan PHP CURL mudah

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

You May Also Like

About the Author: rasupe

Leave a Reply

Your email address will not be published. Required fields are marked *